What I hated about contracting was not working with other people. I wasn't afforded opportunities to learnbfrom senior people like some of my peers were. When I did decide to get a "9-5" I was a bit behind everyone else,
With stack overflow, blogs, irc, message boards, etc I think the idea of a live expert is face to face is overrated. Rather than going to the guru and eating his words as gospel, I can go on the internet and get 10 different opinions on a problem I am having. Then I can critically evaluate those different viewpoints and pick the one that is right for the way I work.
Finding the best way of solving problem X isn't what you learn by being under/around good senior developers, what you learn is a set of mental tools and approaches for solving problems & your ethos as a developer. You can't learn that stuff on Stack Overflow.
Anything that can be learned via talking to people can be learned via Stack Overflow assuming you can communicate well using text (although it may get tagged with the feared Subjective tag).
Technical skills are only one small part of the skill set of a modern technical worker. You can learn a hell of a lot about people-management from the right mentor, and that's going to make a whole lot more difference to your career than learning to solve technical problems.
For concrete problem solving, sure. Esp. If the problems are small or common enough. But there's more that you get out of working closely together with someone who can teach you something.