As a vocalist, McCartney was head and shoulders above Lennon. I love them both, but McCartney was a better singer.
I wouldn't necessarily disagree (I personally think it's kind of a wash) - but I can promise you that when the majority of singers are sitting around, talking about greatness, neither of their names come up. They're both just fine, and I love many of their tunes, but vocal giants they're not.
But I'd take either of them over, say, Jim Morrison.
An example of a truly great rock singer, imo: Glenn Hughes.
We'll probably all agree that Yoko Ono has always been a giant pain in the ass. At least she's consistent.