By the way, this is happening because you did not define the position, and the default is 0,0,0 if you want to use CFrame to do this, you will need to define the position of the part itself and then add the orientation:
local TweenService = game:GetService("TweenService")
local Part = workspace.TestPart
local RotateTween = TweenService:Create(Part, TweenInfo.new(3, Enum.EasingStyle.Quart, Enum.EasingDirection.InOut), {CFrame = Part.CFrame * CFrame.fromEulerAnglesXYZ(0, 0, 0)})
RotateTween:Play()