PTP is only useful in certain high precision distributed systems, and NTP is good enough at <1s accuracy.
The actual reason is it is one of the 4 tweakable parameters in the block: merkle root, nonce, time, version
Initially only nonce was enough but then an extra nonce was added to the coinbase transaction (which impacts the merkle root) to allow a single piece of work to last longer before needing new ones.
Then miners started using time to push the “capacity” of one piece of work further (by changing it within some tolerances) as hashrates increased.
The version field is bow used too (for ASICBoost)