This is partly a comment and partly an answer.
The comment: Is there a reason not use linked clones? This is an archetypal use case for a linked clone.
The Answer:
Rather than creating a full clone, use a linked clone. The creation time will be a few minutes, is very small amount of data, and can easily be moved. One of the great advantages of a linked clone is that a common base VM can be easily shared among several developers.
Each use case you have - whether installing new versions of software, testing new versions of code, etc can easily be done in a customized linked clone VM. This makes it easy to run multiple different environments.
Another benefit of the linked clone is sharing a common base VM. For instance I created a VM with the development tools which are common amongst all of us, and then shared it as a linked clone to all the others. This ensures a uniformity of tools/configuration.
Hope this helps you ( past ) question.
-daniel