I'm not familiar with CFrame:Lerp, haven't spent a lot of time using it. Just recently I decided to see what I could do with it, below is a basic example of making a part move from one CFrame to another, however I noticed if I increased the distance between the parts the Lerp sped up dramatically. I'm wondering how you, if you can, set the speed to a constant speed.

--Just the Lerp
script.Parent.TextButton.MouseButton1Click:Connect(function()
	Loop = game:GetService("RunService").RenderStepped:connect(function()
		T = T + .01
		print(T)
		if T > 1 then
			print("Ended")
			Loop:disconnect()
		end
		Move.CFrame = Pos1.CFrame:lerp(Pos2.CFrame, T)
	end)
end)

--First try to control speed
script.Parent.TextButton.MouseButton1Click:Connect(function()
	Loop = game:GetService("RunService").RenderStepped:connect(function()
		T = T + .01
		print(T)
		if T > 1 then
			print("Ended")
			Loop:disconnect()
		end
		Move.CFrame = CFrame.new(Move.Position:Lerp(Pos2.CFrame.p * Multiplier, T))
	end)
end)