Let's face it, everyone isn't a great communicator in every situation. Some people are superb at talking one-on-one, but put him or her in front of one hundred people (or even ten people) and everything goes wrong. Dry palms are now wet, a wet mouth is now as dry as the Sahara, the heart starts doing calisthenics, the brain turns to mush and the person is lucky to remember his or her name.
Like everything else in life that's worth having, becoming a good (or great) public speaker takes practice. There is no such thing as "virtual" experience. You can practice in front of a mirror all you want, but there's nothing like stepping up to a podium and staring out into a hundred expectant faces to make you focus..