So, the other answer establishes the least-disruptive motion sensor is using motion analysis software on the camera feeds.
Doing the processing on the ground is easy enough, but we don't receive enough images for this. Curiosity does not repeatedly image the same scene. If you want to do that, the amount of transmitted data goes up, and in another question we've seen there's not much room to do that.
So the question becomes, can this be done in a rover's onboard systems?
Apart from processing power, there is an electrical power issue. The rover's systems draw more power than the RTG supplies, so the rover has to hibernate much of the time to recharge its batteries. This limits motion detection to the times the rover is active anyway, and that time is spent traveling or operating the instruments. It may be possible to take some extra pictures during instrument operations and run a comparison on them.