CrossBrowserTesting.com provides both live testing (over 750+ browsers), automated screenshots, and automated selenium / junit testing.
All VMs are destroyed after each use. It is more expensive to have to restart each time, but we feel it is the right way to do it, and it ensures a clean uncompromised configuration (disclaimer - I am one of the cofounders, so extremely biased :) )
I thought VM snapshotting facilities/copy-on-write made it almost trivial to start with a fresh virgin one every time. With enough RAM on the VM host the changes from one session wouldn't even need to be written to a physical disk.
We never write changes to disk, the code is trivial really. And it always launches from a locked snapshot.
What we are always trying to optimize is the time to the user screen. That is really the expensive part, once the disk reads happen we want a working session on the users screen as quick as we can get it. Or that is the plan anyway. :)
All VMs are destroyed after each use. It is more expensive to have to restart each time, but we feel it is the right way to do it, and it ensures a clean uncompromised configuration (disclaimer - I am one of the cofounders, so extremely biased :) )