I could be wrong... but.. I think a private key is derived from the public key. therefore, if the public key is known, as is the case in P2PK, when you have a straight forward attack vector to brute force the private key.
in the case of P2PKH, the private key remains hidden, as the funds are sent to a hash of the pubkey, instead.
this extra layer of obfuscation means you first have to work out the pubkey, before you can set about brute forcing the private key...