I've found good luck with combining spamhaus and barracuda. The Zen list from Spamhaus is quite effective by itself (though I never recommend using only 1). In some corporate situations you may want to use only a subset of the spamhaus lists. One semi-broken internet-exposed M$ Exchange server I have to look after (I need the job

), I use only the SBL for connection filtering, instead of Zen. The PBL list (and sometimes the XBL) can sometimes cause problems on outbound SMTP AUTH servers. Not nice to block your own users.
UCEProtect has also been good. I used to use SORBS, but were a pain to deal with at times, so I haven't used them for a while. Other peoples mileage may vary