How would you distribute the work of a virtual machine? It has to execute instructions in sequence, just like a non-virtual machine. Any parallelism needs to be extracted at a much higher level of algorithmic abstraction, i.e. by a programmer.
Imagine trying to make a virtual machine that would rewrite any bubble sort as a quicksort. Parallelizing algorithms is much more difficult than even that.