There is nothing magical about client-server vs peer-to-peer, with proper design and appropriate resources roughly the same space of solutions is accessible using either architectural model. And as it happens, we know that the game as it stands now uses elements of both.
nothing magical. there is simply one thing that cs has naturally built in, that is a single trustable source of information. such doesn't exist in p2p, so you need to implement a mechanism to produce it by consensus. in real time. between non-trusted peers. that's so far from trivial that i doubt it is even viable today in this specific case.
would love to be proven wrong.