I'm a mainstream Democrat and I've been saying for a very long time that calling yourself a socialist gets rid of a very large percentage of Democratic voters over 40. Of course, anybody who supports things like interstate highways and Medicare IS somewhat socialist. But for god's sake don't CALL yourself a socialist! That's like saying you are a child molester for some people.
The vast majority of Americans actually do support socialist programs when you ask them about the specific programs. I think that's the key to winning as a Democrat. Say your opponent is insane and wants to get rid of Medicare, Social Security, and so forth.