I've seen that the solution has been already given, but since you ask for further optimizations, I can suggest you two hiints.
FIrst, to set the LocationSensor Distance to 0, This means that the minimum distance to raise a new LocationChanged event is 0, and therefore the speed at which the GPS is responding, is not filtered by a certain amount of meters: in other words, the GPS doesn't wait that the distance bwetween two fixes is greater than "x" meters to issue the event.
Second, is to set the TimeInterval to 1000 (milliseconds). In this case the GPS can respond as fast as possible. With these settings I can monitor the speed and the position of a car running > 100Km/H.
Honestly the real speed of your GPS can vary (and depends) on the hardware fitted into the device on which the app is running, and if you are "open-air", but, at least, with these settings you can obtain the fastest response time.
Lastly: these settings can lead to a higher battery consumption, but it's up to you to choose the best compromise between a "real time (and high accuracy)" response, or battery savings.
Edit : I have also a third hint. Whenever the "Changed" event is raised, you can check the LocationSensor Accuracy before getting the corresponding Lat & Lon (or speed) into your computations (for example 0 <Accuracy< 20). This is particularly useful when the GPS is starting to fix the satellites or whenever it looses the satellites and it is trying to find them again.
No more hints....