Telegram has an open specification, called MTProto. I guess XMPP wasn't good enough, so they DID develop something "better" (better for this specific use case).
Also federated services have their disadvantages, so I wouldn't necessarily say that's better.
Also federated services have their disadvantages, so I wouldn't necessarily say that's better.