Despite the latter and probably due to the former, it's extremely hard to find the right people.
That's basically what we look for, and trust me, it's very difficult to find someone who comes close. Code monkeys, OTOH, are easy to find.
My current job is with a distributed team. I'm in St. Louis. Others are in Toronto, New Jersey (previously was in Spain), and South Carolina. It works well for us since we don't have "must-be-locked-down-on-site" sorts of projects (e.g. government contracts)
You are asking for someone that can complete an entire product cycle by themselves. The power of a company is in bringing together complementary people that complete a whole, not in finding a single person that does everything you need. Why would a person with the skill set of an entire team want to work for a company, rather than starting their own?
I have been in this full lifecycle role almost my entire career, often as a consultant, and it has benefits and downsides. You are always learning something new and have a wide view of the software world, as well as the ability to really dig into new toes of problems. But sometimes you feel a mile wide and an inch deep.
This is only a few steps beyond what anyone who completes a CS degree does at least two or three times during their coursework. If you take one of your end-of-year projects, do the work to make it actually robust enough for other people to use, and share it with the world (then do a few iterations of "wow, people aren't using this how I thought" and "wow, apparently that wasn't robust at all" and "damn I need real revision control", or even "huh; no one seems to want this at all") -- and fix the things that were wrong with your first attempts -- you're now far more valuable working any part of the process in large project dev than any of your classmates.
Your project doesn't need to be big -- it probably shouldn't be, or you'll never get it out the door -- but scoping it is a lesson in itself that's really valuable to future employers.
This is how I got my first software engineer job, fresh out of undergrad with a major in music; I had developed a set of music theory training drills, put them online (for free) and had already fought my way through a lot of lessons about browser incompatibilities, usability for non-technical users, how to support non-technical users effectively, etc. etc..
There was no way in hell I was ready to start a business of my own, at that point, and I was eager to work with more experienced developers -- I wanted to learn better ways to solve the problems I was struggling with -- so in seeking a job I wasn't just someone saying "I learned some stuff in school; can you pay me money for it?". I was saying "I already know somewhat what you do here; I want to learn how to do it really well, with you -- will you pay me to do that?"
I've completed an entire product cycle by myself, more than once, but still work for a company.
Working for a company means I don't have to go out and find the customers, I don't have to do sales and marketing, and I don't have to do the hiring, firing, and day-to-day management of employees. Basically, there's more to running a company than the parts of a product cycle, and insofar as I might be capable of doing all of those other things, I don't enjoy it as much as focusing on solving problems.