The problem is that there's a fixed, small quantity of good, senior, Mac/iOS developers. A lot of them like being independent and flitting around from project to project because that is how you build an experienced developer to begin with.
Meanwhile there is all this demand for apps, and so agencies act as the "market-markers"–acting as the sales force, the marketing team, and playing the role of "nobody got fired for hiring $AGENCY" etc.–but the actual lead engineers are pretty much the same bunch of schmucks no matter whose name is on the contract. If you want to know who wrote it, check the names in the header files, and we all meet at the same bars on Thursday nights.
I always advise people to cut out the middle man and hire the indies directly (disclosure: that would be me) since it's the same thing anyway, except cheaper and with fewer games of "telephone". But the pull of the pretty logo and the rapport with the Account Manager is strong.
Black Pixel is better than most of the agencies in that they do a large amount of their work in-house. But their "in-house" people are often just good contractors taking a break from contracting so I'm not entirely sure what you've accomplished by doing that.
I'm not really complaining–agencies have historically been a reliable source of gigs for me, and so they are my friends; they provide me a valuable service.
But do they provide you a valuable service? That I don't know. I have been in situations before where no matter which vendor the customer went with, I would be an engineer on the project, and the customer sat down and agonized over who to choose. That just seems inefficient.