I hate to even say it. Customers still ask for it but alot of implementations are still done via MAPI calls to individual mailboxes. This can give you a very large backup window. With Exchange 2003 and 2007 you can use the Recovery Storage Group. In Exchange 2007 this can be done via shell:
Restore-Mailbox –identity <user_name> –rsgdatabase <Server_Name>\<RSG_Name>\<Database_Name>
You can also filter/Merge mailbox with restore-mailbox. This is great for compliance measures. You filter on content,date(s), etc. and move to a new mailbox for review.