I still run my own domain name (going on 8 years now I think). And I had multiple accounts through that, one for purchasing stuff, one for stuff that probably got spam, and my main one. Over the years they've all been hit by a fair amount of spam. So I got an invite for gmail when it came out and used that as my 2nd main one.
Couple years ago I then decided to forward my mail through gmail so I could read all my accounts through my gmail account. I then set gmail to say that my 1st main account is who sends email. So rather than exposing my actual gmail to the word of spam, if I send an email it still shows it comes from my domain name main account.
And after some filter creations and gmails spam filter, the 40-60 spam emails I used to get is now 0.