I think freelancing is a quicker way to get established and reach a high value if you can swing the social and project management aspects. Especially early on, your value increases enormously with each deliverable product you produce. Freelancing allows you to build a portfolio quickly, and you'll be able to point others to jobs you've completed. Successful jobs also inevitably lead to referrals and you can raise your rate on every new contract as your portfolio improves and you become more valuable.
Working for a salary, you can easily get stuck on projects that aren't portfolio-worthy, don't teach you anything that useful, and which you only have a small hand in anyway. And naturally it's comparatively much harder to get pay increases. One solid project that impresses people can take you from charging $50 to $100 an hour as a freelancer overnight. Try convincing your boss to double your salary after 3 months just because you've been shipping good code.
As for breaking in, talk to as many people as you can. Go to meetups, talks, events, whatever is happening, in both the programming AND (very importantly) business/entrepreneurship categories. Just chat and share ideas. If you're confident and you've got brains, people will recognize it, and you'll soon need to beat offers away with a stick. The first gig is the hardest to get because you have nothing to point to in your portfolio. Do this one for free if you have to, or build things on your own. Whatever it takes to get something finished that you can use to prove your competence.