If your particles are in a random pile, there's no possible way to return them to an arbitrary position while also ensuring they don't block each other along the way (without literally hand-animating them individually).
So you have to come up with a different strategy. It might be something like adding an event which checks how long it's been since the particle starting moving towards its target, and if it's been longer than X frames, collisions get disabled for that particle using a PhysX Switch (because it's assumed to be "blocked" and so you must force it forward).
So you have to come up with a different strategy. It might be something like adding an event which checks how long it's been since the particle starting moving towards its target, and if it's been longer than X frames, collisions get disabled for that particle using a PhysX Switch (because it's assumed to be "blocked" and so you must force it forward).