Verifying domain ownership is what the challenges are responsible for.
You claim to have domain x.com. LetsEncrypt sends you a token. Place it in a DNS record or in a pre-determined path on your domain and ask LetsEncrypt to read it back.
If it matches, it is verified that you own the domain.
How is the scheme you propose simpler, whilst retaining the same base guarantee (that the requester is the owner of the domain in question)?
That would be easy and elegant. But they want you to install software on your server.
You don't necessarily have to do any of the above on the server for which you want the certificate. You can do it somewhere else and then transfer the resulting certificate to the intended host (either manually or with a shell script/ansible/puppet whatever).
But you can place these tokens on your webserver by hand if you want, in a pre-determined path.
We'd have to go back to physical snail mail using the address on the domain record, and/or notarization. Both of which of non-automated and very slow (relatively speaking).
The http or dns challenge/response is more reliable and pretty easy to automate and scale to many domains.