Your cheapest option is to have one (single) google apps account which will cost you around $5 per month. Make it something very general like mail@yourdomain.com. Then in the google apps dashboard make it a catch all address. This will make the single inbox catch all email for accounts such as Sales@, support@ bob@ or whatever at your domain.
Then you can set Gmail filters to sort (label) each incomming message based on who it was sent to. For example you can have messages sent to frank@ automatically labeled as frank.
Next you want to create regular old gmail accounts for all of your individual users. I am going to follow the example of creating a box for frank@company.com for this instance.
- Create Google Apps primary account (catch all) as mail@company.com
- Create Gmail account for frank.company@gmail.com (regular gmail account)
- Create filter rule on Google Apps account for all messages sent to frank@company.com to be forwarded to frank.company@gmail.com. You can further mark them as read or delete them upon forward.
- In the frank.company@gmail.com create a sending alias as frank@company.com. Google will give you a 4 digit code, and now when logging in as frank.company@gmail.com i can both send as frank@company.com and recieve all email since its forwarded to this account.
Also make sure to set default reply:to addresses in case you send from the frank.company@gmail.com address.
Using the technique above you can get all the benefits of having a pro google apps account (dkim, spf, 25gb inbox) and with a little bit of configuration you can setup multiple gmail accounts which run off the single account. We use the technique above and it works flawlessly. The only thing that doesn't work is mailbox delegation, which is not that great.
If you wanted to save the $5 you could get away with using something like GoDaddy free email forwarding, but then you would be limited to godaddys 250 message limit per day.
The approach above just works.