Move multiple objects to new vertices in animation, assign automatically
You may be able to use particle systems to do this. The Harmonic force-field can set up a one-to one correspondence between particles in source and target systems. With damping set to 1, source particles stop at their target-partners locations.

On the target, set up a particle system with no physics,
[vertex-count] particles emitted from vertices, all at frame 1.
In 'Force Field Settings', set the target system to generate a Harmonic field, with quite a high strength, and Damping of 1:



Set up a  source particle system, set the emission as for the target, this time from the source object, and in its 'Field Weights' set it to respond to the Harmonic field of the target.

So far, so good. The source system will be attracted to, and land on the target system (which you will be hide, in any render)
The remaining question is how to avoid collisions between the source particles on their journey to the target..

Here, in the 'Force Field Settings' of the source system, I've given the particles a 'Charge'. This does, at least, seem to cause enough repulsion between particles to avoid interpenetration:


Options might include giving the source system 'Boid' rather than 'Newtonian' Physics, with an 'Avoid' rule, and plenty of 'Personal Space'. If the worst comes to the worst, you could have a third particle system with 'Keyed' physics, which would let you mix-and-match between other particle systems, picking the parts of their behaviours which work for you.

Have a play, anyway, it might be a starting-point.