Gave that paper a quick browse. Yup, that has all the traditional ingredients in it to get to 20 ps on a modern fpga. Unlike that image you posted earlier. ;-)
Priority encoder suffers from an annoying problem when there are "bubbles" in your sampled pulse train.
Lets put it this way: the priority encoder will work. As long as you can ensure that there are no bubbles (aka out of order zeroes or ones) in your samples. And of course you can ensure that, because what could possibly go wrong? Hence the priority encoder is the best solution. Right up to the point where you discover it is not the best solution, and then a bubble tolerant solution is the best solution.