Tofer:
The thing is that the servo is changing its speed CW more or less smooth, not enough smooth in fact. But the other way - CCW it changes its speed really like stepwise, it looks like it has just 3-4 steps of speed.
You don't seem to have any Serial.print() statements in your code to allow you to see what actual value of microsecs is being used with servo1.writeMicroseconds()
Just out of curiosity why have you changed the integer values returned by analogRead() into a floating point value? Floating point maths is very slow on an Arduino.
If you need more help please post a complete program and use the code button </> so your code looks like this and is easy to copy to a text editor. See How to use the Forum
...R