I've used Plexus to do this. Nodes 2 would likely also work. You could try doing it cheaply using the Connect Layers script with a bunch of Null Objects animated with expressions to animate position and rotation.