We have this identical issue and what works very well for us is to use local virtual machines (we use VMWare) because then we can use exactly the same configuration, independent of the development platform. For example, we have Mac and Linux users, but could also easily accommodate Windows users as well. Other benefits include the fact that you can really lock down the VMs to be exactly as production, whereas it's unlikely that a local dev machine would be the same (Does your production machine have Firefox installed?)
Another benefit is that when we change the configuration of production (which is all managed with Puppet) we can just update the dev machines because they were built with Puppet as well, without worrying about screwing up someone's desktop machine.
Plus, you can take snapshots... You can rebuild them easily... etc
Lots of benefits.