I would focus on learning the soft skills while you have an opportunity, and then jump ship once you feel that you know how to develop these soft skills, and that most of the remaining work you're doing is specific to how things work in that one company. Then use the skills you've developed to jump ship for a better opportunity.
As for how often is too often - it's not unusual to have a bunch of jobs in your first few years out of college. 3 months is generally too short, though, if you leave after 3 months it looks like you're superficial and can't be bothered to learn anything in depth. I'd stay minimum 6-8 months, maximum of about a year or two, for the first few jobs. Then take that experience and knowledge of what kind of environment you really like, pick a job that really excites you, and stay 3-4 years to really learn an area well.