BGE dynamically transform a rigid body

Is there a way to take a rigid body object, and transform it in such a way that it still obeys collisions?
In other words
the object would need to have forces applied to it that would push the object into the desired location and rotation, it would sort of attempt to lock in to place, therefore being stopped occasionally by a collision with something and then as soon as the collision is no longer the object would be able to snap into place