The way I’ve set it up in the past is more of switch, nothing where it’s interpolating the pivot during motion. Without matrix math setups, I’m not sure this is possible.
What I do: Ask the user to choose a new pivot position with a marker and store the world position of the object. Then when the user commits we key the previous frame, change the rotate pivot of the object to the new position and move the obj to its world space position. Lastly we set a key on our new frame.
Really its similar to ik/fk matching work, just with the rotate pivot attribute.