We've sent our own mailings out on a couple of occasions (to 4000 and 8000 users, respectively). And I've done it more often in the past, though for smaller numbers. I haven't had a bad experience doing it myself. A number of our customers are doing it regularly with phpList or poMMo.
There are a few things you have to get right (DNS including a PTR for your IP, SPF and now DKIM, RFC compliance in your server and configuration), but once that's done, bounce rate will be nearly as low as the quality of your list allows. Hitting the spam filters isn't all that bad either--assuming your message isn't spammy on other counts.
One other thing to be wary of: Sending to the same domain many times in rapid succession. Be sure you're not sending more than one or two messages at a time to Gmail or Yahoo or Hotmail (or any single server). So, randomize the list, and sleep for a second or two between each send, or something, to insure that there are pauses.
Oh, and at least Google's spam filters are reputation-based (and probably many others are, as well). The looser you play with the "opt in" requirement, the more likely you are to be flagged as spam by your recipients. It only takes a few to get your future mailings dumped into the spam folder. At that point your server itself is poisoned from sending to that destination for a while. So, make sure your recipients actually want what you're sending them.