I haven’t implemented custom movement in Unreal before, but I’ve spent a lot of time with these in Unity. Since the movement in Pong has to be responsive, I’d go with the following solution: You have your velocity, that’s good. Instead of setting the velocity directly, you set a target velocity, and interpolate (smoothly reach) the current v. to the target v. continuously.
// in input code
TargetVelocity.Z = FMath::Clamp(AxisValue, -1.0f, 1.0f) * 100.0f;
// in tick (so every frame)
// higher interp speed will result in more responsive movement
CurrentVelocity.Z = FMath::FInterpTo(CurrentVelocity.Z, TargetVelocity.Z, DeltaSeconds, InterpSpeed);
As in using forces? Of course, but there is no point really. IMO it’s better to control the velocity directly when dealing with character/player movement. But if you want to use forces no matter what, then use AddForce() and play around with the mass and linear damping values of the physics body.