WWE doesn't exactly know how to book babyfaces correctly without fucking them up in some way.
Perhaps the prime example of WWE fucking up a babyface is none other than Roman Reigns. Do you know how WWE should have booked him in 2014 and 2015? You have him just show up, beat the fuck out of people, and leave. Make him a man of few words, a genuine bad-ass. No suffering succotash or nursery rhymes like John Cena, because that isn't what people wanted to see. They wanted to see a big Samoan guy fuck shit up. You don't even need to make him an Austin-type character either. You make Roman Reigns, a man who gets shit done, isn't fucking gullible, doesn't talk in nursery rhymes, and most of all: WINS. People want to see a WINNER. Roman Reigns for almost all of 2015 was nothing but a loser, and it's no wonder people eventually turned on him as a character.
Can you imagine how badly they would have killed Stone Cold Steve Austin if they booked him like they do their babyfaces in the 2010s and '20s?
Long story short, there aren't any convincing babyfaces in WWE because WWE themselves don't know what people want in a babyface. They think every face needs to get beaten up by the heels every week, needs to look stupid, and especially regarding Steph McMahon, needs to be verbally eviscerated by the bitch whenever she's on screen.
It's no wonder that WWE only has annoying heels and idiot babyfaces. They've booked themselves into this predicament.