Ohne jetzt programmieren zu können:
Der Servo vergleicht intern Standort (Poti) mit Vorgabe. Je weiter da der Unterschied ist umso schneller dreht er.
Wenn du nun deine Endposition in 2 bis 10 Schritten angibts / steigerst ist jeweils der Unterschied niedriger und somit der Speed.
Da der Servo ja eh nach dem PWM signal fährt kannst du das ja langsam zum gewünschten Endwert hin steigern/verringern.

Alternativ ist im Servo natürlich ein DC Motor, der dreht langsamer je weniger Spannung ankommt.
Irgendwann unter 4,8V ist halt die Logik nicht mehr versorgt.