The forums may be a better bet to get an answer to this one as there are different approaches with different pros/cons… There is no perfect solution and this isn’t something ue4 does ‘out of the box’ well (high velocities, small changes in orientation - the opposite of typical FPS movement).
If you have derived from UCharacterMovementComponent the stuttering at high velocities will be due to server supplied corrections from the INetworkPrediction interface, more detail at Understanding Networked Movement in the Character Movement Component for Unreal Engine | Unreal Engine 5.2 Documentation
There are many very subtle things a play here eg. variable packet delivery time, clients running at different frame rates etc. etc.
I have done a fully custom movement component (for cars) based on UMovementComponent where non local clients actually display where they were a fixed time step ago (eg. 200ms). This system used projective velocity blending to interpolate historical state and so was rock solid as long as packets arrived before the fixed replay delay (fall back to snapping).
This causes as many problems as it solves:
*It is client authoritative (if position is, then everything else is)
*Player to player collision becomes a huge issue requiring custom code
*Reconcilliation code must be written for specific events to see what actually happened (eg. track check points - who got there first)