1) The best way is to disable catch all account:
Hosting control panel (http://yourdomain.com:8443/) -> Subscriptions -> yourdomain.com -> Mail -> Preferences -> Mail to nonexistent user -> Reject -> [OK]
2) Next thing is to enable "SpamAssassin"
Hosting control panel (http://yourdomain.com:8443/) -> Subscriptions -> yourdomain.com -> Mail -> your email address -> SpamAssassin [On] -> Hits required for spam - change to 4 -> [Set]
Spam emails will come to your mailbox with *****SPAM***** in the subject so you can set a filter in your mailing software to move such emails into a separate folder for review. It's not recommended to set such emails to be deleted because sometimes legit messages are marked as *****SPAM***** because of the content.
If the above steps will not eliminate spam completely it will decrease it to the manageable amount.
Update: the best spam protection we found at Google Mail services. Some time ago Google introduced business services which include emails with great spam filters. You can check this at https://www.google.com/a/
Let us know if you are interested in setting up your mail via Google Business Mail service (at this time it's free)