How to decrease solenoid speed?
You need a Linear Servo, e.g. this small one. Solenoids aren't really suitable for gradual movement.

You could, if you wanted a project, build your own linear servo using a motor, worm gear, and linear potentiometer for position sensing.