I always recommend public speaking (or interpersonal communication) classes. Joining Toastmasters really helped my wife because it forced her to speak to strangers. English is not her primary language and it provided a place where if you fumble over your words it isn't a big deal. You aren't in front of your peers at work. But you HAVE to participate. Speak, lead the table topics...etc...Her work paid for it, so I don't know the costs.
At team lunches, my previous Global Sales VP would drop a random topic and choose someone at lunch to speak for a full 60 seconds. Mine was philips head screws/screwdrivers. Even you don't know the topic, you need to be able to BS your way into changing the topic for a full 60 seconds. He told me afterwards, he thought about choosing "quilting" as a topic....I may have been in trouble.....I told him, next time I'll bring up the topic first and might choose the topic "Who's better, Brady vs Manning" and give it to him. He wasn't a football fan.