I dont know if its relevant to pic32mz but I have had problems with A2D on pic32mx.
If I try to read a2d port fast I get i.e. 2,2,4,4,6,6,8,8 instead of 2,3,4,5,6,7,8
If you look in the errata for pic32 it says to limit a2d sample rate to below 500KHz.
I found using the interrupt flag on a2d if I skipped an interrupt every time I got good data.
The only other way around it I found was a software digital filter