This is what I have. There are varying opinions on this, and I am sure someone will chime in and tell me I am doing it wrong, but it works for us with almost zero false positives and almost zero spam.
This is the SPAM Check TAB:
Custom Headers 0-30
Bayesian Filtering 10
SPF 0-30
Reverse DNS 50
RBL: barracuda central 50
RBL: surriel 50
RBL: zen spamhaus 50
The weight thresholds are:
Low = 30 - Prefix with SPAM
Medium= 40 - Prefix with SPAM
High = 50 - Delete the Message