So habe ich das gelöst.
Ich lasse ein Panel beliebig verschieben und berechne immer "virtuelle" Soll-Positionen aller Panels.
Über einen Timer lasse ich alle Panels von schrittweise zur Sollpostion bewegen.
Wenn Drag&Drop beendet ist, werden die Zielpositionen festgeklopft, die Panels in einer TList nach X+Y-Position sortiert und die neue Reihenfolge gespeichert.
Ist insgesamt recht aufwendig, aber mir war es das wert...