Yes, this is a good solution.
But once I worked this way, and everyone was using the same VM. It was a mess and painful slow.
I think the better option is have the best of both worlds: a VM to make final tests, when needed, and let your developer choose the best environment.