I love public speaking and am often complimented for my skills
But public speaking is a very broad term, and I think different types excel at different forms of it. Extroverts are probably more inclined towards it, though introverts can become great too if they wish so (yup, Hitler).
Us ENFJs are maybe the classic example of a charismatic (even slightly manipulative) public speaker who tries to motivate the crowd and get them to follow the path he has envisioned - an activist sort of type who tries to unite people and get them to commit to a cause. ENTJs are similar, except they are more about plans and things than people and causes.
ENxPs are great when a lot of improvisation and creative thinking is necessary, their enthusiasm can make them great public speakers without them even being aware of it...as long as they don't go off on too many tangents
ESxPs can be very skilled when it comes to public speaking with direct consequences - doing or buying something right now

They can be great at thinking on their feet and motivating people to do something on the spot, to incite action
ESxJs can be very good at appealing to commonly shared values to push their own agenda
EDIT
As for the worst public speakers...well, doesn't have to go for everybody, of course, but INxPs can be lacking in this respect, as they often lack the confidence or interest to do so and may be prone to going off on tangents.
It's a shame because many INxPs are pulled towards academia but aren't as good professors as they could be because of this, as they are sometimes not able to present their vast knowledge in a way that will interest students.
At uni, I had an INFP professor who was very intelligent but rambled way too much and kept going off on tangents that were based on his moods and frustrations of the day, which bored people to death. Another INTP professor also had a bunch of knowledge, but just kept mumbling stuff to himself with his head down, without addressing the audience at all.
Engaging your listeners is one of the most important things for being a successful public speaker...looking at everybody in the audience equally and establishing eye contact, speaking directly to your listeners, asking them questions, stimulating discussion and making everybody feel involved are essential elements
