As far as requirements, it really depends on content and the amount of traffic.
For the webserver, will it be static pages with a few users or dynamic pages with a lot of users.
For the email server, will it receive mail directly, or will it be out-sourced to a commercial site where they will do the initial spam and virus filtering and then forward the "clean" mail to your server to reduce the load.
The company I work for uses one these services. By doing so, the mail server can run on a P3 700mhz machine with 128MB ram. We still run virus and spam filtering. I can't remember the company they use, but it something like this one:
As for the data server, I personally would not put it int the DMZ. I would use scripts to connect the server if at all possible. I do agree with using the faster hard drives on this server though.
With the virtual servers that falko mentioned, the advantage of that is you could build independent servers on one machine.
VS1 - Web_server
VS2 - Mail_server
VS3 - SugarCRM_Server
All will run individually, just as if you had 3 different servers, but in one box.
Another advantage of virtual servers is you can move them to another host if needed.
Hope this helped.