Youâ€™re just forgetting a few thingsâ€¦
Remember to start at the targetPart position by adding itâ€™s position to the MovePart CFrame. Now just choose a distance and subtract the MovePart position by itâ€™s LookVector multiplied by -distance.

local MovePart = script.Parent
local targetPart = game.Workspace.TargetPart
local rot = 0
local distance = 13
while true do
rot += 0.1
MovePart.CFrame = CFrame.new(targetPart.Position + Vector3.new(math.clamp(math.cos(rot), -1, 1), 0, math.clamp(math.sin(rot),-1, 1)), targetPart.Position)
MovePart.Position -= MovePart.CFrame.LookVector * -distance
wait(0.01)
end