I am sorry, but there is an huge difference. In a P2P application, you can modify the client or even worse the host can modify data exchanged between players. In a dedicated solution where the host is only controlled by you (and not another player i am not talking about a dedicated server distributed to players so they can host a server i am talking about a centric server solution), you have 100% control on what is validated when it reach the server and you can implement checks in order to avoid cheating. Sure that always depend on how good the checks are implemented but there is no way a client can cheat this way. The client is only a representation of the state of the game sent by the server. The server only receive input. The only thing a client can do is modifying the input.. that why the checks are there. To see if its valid or not. Not saying its an easy task.. to be honest its not easy.
Here i am only talking about data cheating.. there are other ways to cheat. Which is a big problem in FPS.. poeple tend to use aim support which happen on client. This unfortunally is harder to counter and require third party anti-hacking software.. but this is only a thin protection to be honest.