I just hired (or rather, gave a contract task to) a guy that has a full-time non-technical job and a few technical (unpaid) positions. He's going to be part-time (as a paid technical person) for me.
But yeah, I see what you are saying; You have a really hard time hiring known good people this way; known good people, if they want full-time work can pretty much write their own tickets without working two jobs for a while first. Known good people who want to be contractors, generally speaking, want to be contractors and don't want to be employees.
Of course, most businesses of my revenue/in my market simply can't hire known good people; we can't afford their rates.
Businesses at my end of the market are betting that we can get good people that other people don't think are good; so really, an extended screening process is more important than if you can pay google rates to begin with.
None the less, there are many small businesses that operate like this; we do find good people; of course, we also end up kissing some frogs, and when we do find good people, they don't stick around forever; people with the ability to pay well eventually notice they are good.
I think it works out okay for all involved; most companies that can afford to pay the rates 'known good' people demand simply won't look at people who have been unemployed (or employed doing something non-technical) for a while, or people who don't have experience; that's where I get most of my people. And after working for me for a while? they have something technical to put on their resume, and people who can pay real money look at them seriously.