Moving and Rotating a Part While a Key is Held Down

I’m not sure what the best way to go through with this is. I’m trying to make it where if a player holds the “E” key, a part moves out 4 studs to the right and angles 15 degrees to the right. As long as the “E” key is held, the part stays at its offset, but when the player lets go of “E”, the part goes back to its original location and rotation. Would CFrame or TweenService be better for a smooth movement in this, and how would I go about implementing it?

CFraming it will make an instant movement, unless you move it in steps.
Tweening will move and rotate it smoothly, and can be done in the same steps.

So I’ll go with tweening. I’m not super familiar on UserInputService, so any tips you on making the system mentioned in the post would be greatly appreciated