One of my coworkers turned me on to vagrant. I set up virtualbox manually once, and vagrant seems far superior.
The biggest issue for me is that I have some largish databases I need to be loaded as part of the vagrant install, and these are a pain to distribute.
The best solution I have come up with is an external drive.