Some have 10Gib/s LAN, so it can transfer more than one gigabyte per second, so it will not be a bottleneck.
Some have 1Gib/s LAN, so it can transfer more than more than 100 megabytes per second, so it will not be a bottleneck (unless you have a really fast SSD).
Mechanical disks, when read & write on same disk at same time (or much fragmented), go down for near 20 megabytes per second, while on non fragmented only read or only write can go to more than 100 megabytes per second.
You tell about LAN be slower, but not about USB (2.0, not to mention 1.1 or 1.0) is much times slower.
What i would suggest would be: Use USB 3.1 Gen2 Type C or a eSATA / SATA / SAS
But allways: Use a second fast enough disk.
And allways: Cloning to another disk and the copy back the file is much faster that using only one of the disk unless it is a SSD or a hard disk with independent multi-head arms (they can read and write at the same time on two surface places, each head has its own arm, very expensive, about >9876€).
The best is to clone only the virtual hard disk of the state you want, then check it works, then RESTORE top level (will delete all the snapshots), then remove the HDD on storage and connect that new one.
So steps, to loose all old states on a no tree snapshots scheme:
- Clone from one hardisk to another one, avoid bottlenecks
- Create a new machine, connect that disk, disconnect it, configure it as inmutable
- Test it works (since it is inmutable) you will have the same state
- If you need it not be inmutable, disconnect it, change back to normal, etc
- Delete the old machine snapshots (RESTORE first)
- Delete the temporal test machine
- Copy back to the disk the virtual disk
- Attach the cloned disk
But allways have in mind, snapshots can be like a full tree, one node can have more than one child, each child can have more than one child, etc.
To work with trees of snoapshots, allways think on DELETE as deleting a node without affeting the rest of nodes (only loose that state, but not there rest, no parent and no child will be affeted, data will be merged on all the first sub level childs, so slow process) and on RESTORE as destroying all of its childs on all sub levels (loosing all states after that one you restore, it only deletes the files, so really fast process, just seconds).
P.D.: How horrible names VBOX gave to that two operations (delete just one node = DELETE; delete all child nodes on all sub levels = RESTORE)