Without knowing the actual application, can’t you use the position feedback from the servo to determine your “coarse” slow move, then once the desired position is achieved (+/- your permitted tolerance) perform another move using the full velocity/torque of the motor as you suggest?
If the “coarse” position is always changing, then you could use the .PositionError parameter to determine when you’ve effectively “bottomed-out” the servo, then use this feedback to know when you need to kick it into high gear. For example, if you’re coarse position changes, it is reasonable to me (without really knowing anything about your application) that it would still be within some + or – that you can check and setup as your “soft limits”. Then just drive the servo (almost blindly but within your soft limits) at your slow speed, use a compare instruction and the .PositionError parameter to determine when you’ve “stopped moving” (i.e. Servo.PositionError > someValue), then kick it into high gear to drive it home.
Like I said without looking at the application or knowing much about what you’re trying to do, this may or may not make any sense at all!