How to make smooth CFrame Transitions?

hi everyone, I am making an fps and need some help with the cframe transitions. I have been trying some that I found with my code (under) and I can’t figure out how to do it. I never work. Any Help? Thanks.

My Code:

local GunModel = game.ReplicatedStorage.Model:Clone()
	GunModel.Parent = PlrCamera

UserInputService.InputBegan:Connect(function(input, gameProcessed)
	if input.UserInputType == Enum.UserInputType.MouseButton2 then
		GunModel.PrimaryPart = GunModel.AimPart
	end
end)
UserInputService.InputEnded:Connect(function(input, gameProcessed)
	if input.UserInputType == Enum.UserInputType.MouseButton2 then
		GunModel.PrimaryPart = GunModel.HumanoidRootPart
	end
end)

local function GunUpdate(delta)
	GunModel:SetPrimaryPartCFrame(workspace.CurrentCamera.CFrame)

end

RunService:BindToRenderStep("GunUpdate", Enum.RenderPriority.Camera.Value + 1, GunUpdate)

Try this, it discusses Lerp and Tween with the camera: