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 email@example.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 firstname.lastname@example.org for this instance.
- Create Google Apps primary account (catch all) as email@example.com
- Create Gmail account for firstname.lastname@example.org (regular gmail account)
- Create filter rule on Google Apps account for all messages sent to email@example.com to be forwarded to firstname.lastname@example.org. You can further mark them as read or delete them upon forward.
- In the email@example.com create a sending alias as firstname.lastname@example.org. Google will give you a 4 digit code, and now when logging in as email@example.com i can both send as firstname.lastname@example.org 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 email@example.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.