Elegant way, LOL, I’m sure there is an elegant way but this will work:)
You can do this with the particleFlow Freebies “Stop gradually” operator.
Bring the particles into a new event.
This event contains a stop gradually operator and an age test.
Set the Stop Grad to Stop Time - tick use different stop time - set the timing to whatever you set the age test timing too - adjust the event time (example: if you set it to 50, particles will come to a stop after 50 frames of being in the current event)
In the age test set to the same or close to the frame rate of the Stop Timing, to release the particles to the next event.
Link the Age Test to a new event containing your final speed op.
The only drawback is that you do not have control over the curve.
Example: Max2009