Hi all. I am posting this under general as it can apply to any 3D printer that uses toothed belts. In my case it was a TronXY P802MA, but as stated any printer that uses toothed belt. Problem started with prints shifting in the X axis. I changed the linear bearings, the runner (rods), the motor, and even the main board. I inspected carefully the belt drive wheel and the belt. All to no avail. Before leaping from a tall building in frustration I took the belt off the printer, and whilst it looked in perfect condition I discovered it did something toothed belts are not supposed to do: It stretched !
Over its total length of 900mm it could stretch about 4 to 5mm with a hard pull. Working my way along it in 100mm stages I found the location that stretched near the middle. From the outside it looked fine, but inside there is a very thin wire re-enforcement which had obviously snapped. This, plus the fact the linear bearings had started to break up due ingestion of dust over time had been causing the belt to jump around the drive wheel. This explained the very slight clunk I could hear (but not see) moments before the shift occurred.
So if you have the very slight 'clunk' but see nothing, followed by a shift in the print, look and TEST the belt, and look at the bearings.