Path taken is a straight line whereas desired path is not.
Note: Humanoid Root Part is anchored and its velocity is made 0,0,0 before tweening. Pathfinding won’t be much useful as it also finds the shortest path. (Image above)
You can use Roblox’s pathfinding and tween between the waypoints, if the part will not be in a “reachable” position i.e in the sky then you will have to do 3D pathfinding and there is no feature for this in Roblox and I am not sure how you could script it if it’s even possible in Lua.
I don’t think a simpler method exists than pathfinding.
You could use raycasting to some extent but it will look unrealistic.