For me the soft skills came from being a customer service professional (conference call operator), and working my way all the way up to Assistant Director of the department. After going through managing customer expectations, to managing customer AND employee expectations, my "soft skills" were pretty finely honed. When I decided to move into IT, I was welcomed because the expectation was that they could teach me/send me to school for IT knowledge, but the skills necessary to work with non-IT people were already in place. It has made my life as an IT professional much easier.
For the record, as painful as some consider it, I do believe in the Dale Carnegie types of classes/books, particularly for those people that realize they need some guidance in this area. That will help with communication skills.
However, one of the skills that hasn't really been mentioned here so far is the ability to present, or speak in public. I know a lot of IT folks who are fine with communicating one on one, or even with small groups, but put them in front of 50 technical people at a large departmental meeting to give a technical update on their project, and they can barely speak (if you can even get them to stand up). This is why managers tend to encourage employees to start giving presentations at smaller meetings, and maybe even speaking at a local user group meetings, which can be very helpful (disclaimer: I help run our local SQL Server UG, and am a huge proponent of UGs in general). And while you may never intend to pursue a career in public speaking, being able to give knowledgeable presentations in large group settings is a valuable skill.
Director, Global Database Services