It's relatively easy to get a time-to-digital converter (TDC) with ~tens of picosecond timing granularity, and if you work hard enough, you can get down to ~10 ps resolution or so. If you do insane things, like use superconducting electronics, you can get down to ~few picoseconds or so.
For the simple ~tens of picosecond TDCs, a simple method is just a capacitor with a switched constant-current source. The capacitor charges at a fixed rate, and then the voltage is read out with an ADC. The limiting factors there are the speed of the switch.