A word about sieve: I've been using it and I like it. Sieve uses it's own programming rules, but once you implement (instructions found on these forums) you can use the RoundCube interface to easily create rules, even if you don't use Roundcube for anything else).
However sieve cannot whitelist anything which is already blocked by SpamBlocker's blocklists, because SpamBlocker blocks email before it even gets onto the server. So it's not a true whitelist solution unless you implement lot of default blocklists in sieve for each user and stop using the blocklists in SpamBlocker.
Jeff