Hey AK,
fellow freelance consultant in IT here. Not in the same field (I'm in software testing and more specifically in test automation), and I'm based in The Netherlands as opposed to the US so not all may apply. Also, I'm going to cherry-pick on your questions. Hopefully there's still something useful in it for you.
1) At the moment, mostly through freelance job marketplaces. Also, I have built up a decent relationship with a couple of recruiters I actually like (there's a lot of rubbish to weed through though). My current gig I obtained via the same agency that delivered my previous project. They're decent, so I decided to continue working via them. Not a lot of companies here hire directly, unfortunately.
2) Mostly billing-by-the-hour. This is something I am looking at moving away from, but it requires adaptation of your value proposal. A lot of clients are just looking for an extra pair of hands that fill a seat for 40 hours a week. Those are not the kind of projects I'd ultimately like to do, so I've started to shift towards value-based consultancy, training, writing and speaking gigs. This will be a time-consuming process though, but some cool projects have already come my way, so I must be doing something right.
3) My first freelancing gig was a continuance of the project I did through my former employer. In exchange for a part of my fee they asked me to continue and wrap up the project, an offer I gladly accepted. It helped that they didn't have anyone available with the knowledge and experience required to step into it.
5) I made that switch but there really wasn't any other option. Also, since I knew I had a project it wasn't hard at all. Plus, the market in my niche is good, you'd be hard pressed NOT to be fully booked at the moment.
7) Definitely check out the
Freelance Transformation podcast. Lots of great tips there.
8) Do it. Now. You'll never look back.
If there's anything else you'd like to know, please fire away!