Best way to handle spinning/ moving objects in a obstacle course?

I’m wondering what’s the best way to handle spinning or moving objects in a obstacle course. I want to make sure the players can collide with the objects and also want them to appear to be spinning/ moving smoothly. I also want the spinning/moving objects to change directions at times. Would CFrame lerping be my only option?

CFraming the Parts is tough when you want the players to interact with them. A CFramed spinning arm won’t allow the players to spin with it as it rotates unless you CFrame the player too.
I’ve used HingeConstraints with Motors in them for this before as an easy fix, but they can lag and slow down under certain conditions.

use bodygyro and bodypostions to do this it will still allow physics to be placed on the character