Spamassassin on my server blocks about 99% of spam. Maybe 98% to be fair, but out of 100's of spam emails per day it does a decent job.
That's after lot of tweaking though. By default it practically lets everything through, the default rules SUCK, but fear not, as you can download some, and by enabling bayes, you should increase it's accuracy.
Take a look at how to use spamd/spamc combination which is much more efficient then the "normal" default way of using it.
Good luck killing spam! I have a passion for it myself.