Path constraint with physics (rollercoaster)
One idea to do would be to manually animate the F-curve for the evaluation time of the curve to which your roller coaster is constrained to. You cannot manipulate the speed directly, since the F-curve is essentially a plot of distance versus time. But you can manipulate the slope at any point in this curve (slope being the speed of the object at that point on the curve). See the figure below for a reference. 

The idea is to put key-frames on the F-curve at position where you expect the speed to change (like top of a hill). Then use the Beizer handle to change the slope of the curve to close to zero. Do not make it totally zero cause that would cause the roller coaster to momentarily stop and then start moving again (which is unnatural). Also note that this will automatically cause your coaster to accelerate or decelerate in the correct way, since the slope (i.e. the speed) also changes with time once you manipulate the Beizer handle.

I recently made a roller coaster and the snapshot of the F-curve is from there. I haven't found a way to do this through simulation (thinking about posting here for help). But this is the best I could do manually. You can see for yourself that at same places it still looks unnatural (e.g. at 1:30)