I wouldn’t count on software, even RLP and interrupt to measure stuffs at such accuracy.
I did a similar project 10 years ago to timestamps events on multiple sites with a 1µs accurancy.
All was done in hardware in a FPGA.
The FPGA was receiving the serial link from the GPS as well as the PPS.
The NMEA sentence was limited to the minimum to get time and date.
The serial stream was deserialized and stored on a 1st buffer
The PPS rising edge was driving the reset of a 20 bit counter which was clocked by a 1MHz coming from a highly accurate and stable TCXO (half the price of the board itself).
On event’s rising edge, the value of the counter and serial buffer were copied on shadow registers and an interrupt was generated to the CPU (A PC running XP, had to play with XP drivers at that time).
In the driver interrupt code, the shadow registers were read from the FPGA into the CPU and the system was re-armed for a new capture.
Using both the time/date from NMEA sentence and the counter value, it was possible to date events with a 1µs accuracy.
You might extend this principle to 250ns with a 4MHz TCXO but I must admit that I am unsure, if you are considering timestamping simultaneously on multiple sites, when there could be a drift between each receivers.
In digital terrestrial television, it is often made use of a mode called SFN (Single Frequency Network) where multiple transmitters are ran on the same carrier frequency and transmitting the exact same (MPEG) data stream. Transmitters’ carrier is generated by a PLL locked on a 10MHz clock from a GPS receiver. The PPS is used to synchronize the data stream transmission.
So I guess that multiple GPS receivers dispatched on a reasonnable area should be in sync with an accurancy better than 1µs.