What I normally do is start TMR1.
When it overflows and triggers an interrupt the timer is at 0 and keeps counting.

The first instruction in the ISR stops the Timer.
Read the value of the Timer and you have the Exact latency.

Your readings include both getting In and Out of the ISR.
Unless you are pushing the frequency envelope, the time to get In the ISR is more important.