Hi,
A solenoid is basically a coil of wire with a center that can move in and out. The coil forms an inductor.
Because it is an inductor, when you apply a voltage it will not conduct right away but will take a finite time to conduct to some decent level of current. The time it takes depends on how much inductance there is in the coil. The time it takes to conduct greatly affects the time it takes to pull in. No current, no pull. High current, high pull in force. Too high of a current, wire burns up.
If a 12v solenoid takes 10ms to move 1mm then that is what you are stuck with unless the solenoid can take a higher voltage. If you apply twice that voltage (which would be 24v here) that means it would take 5ms to move 1mm. If you double that, it would take 2.5ms to move 1mm. This works up to a point anyway.
But the other problem that comes in is that the current might go too high after a certain period of time, so you'd have to limit the current. This takes a special circuit that can put out say 48v and limit the current to whatever the solenoid can take figuring in the duty cycle and all. Alternately you might be able to limit the 'on' time.
But of course this only works if the 12v solenoid can take the full 48 volts without breaking down. You'd have to check the manufactures spec's to see about this, or do your own experiments possibly sacrificing a solenoid to do it.
If you have the freedom to select a solenoid then you would want to select one that has the lowest inductance and of course meets the force spec you need to do whatever it has to do.