Regardless of who I'm talking to and how I feel at given moment, I always try to keep my language consistent and choose appropriate words. That is not always easy to achieve spontaneously because eloquence is something that increases gradually, as you gather experience going through life. You can't just rush it up.
However, reading helps a lot, particulary dictionaries. For a last four years, I've been collecting words I do not understand and check them in dictionary afterwards. And later, if you can apply a new word in a text or speech spontaneously, you're going the right way. You may surpass members of your generation that way.
But as I said, it takes time and continuous desire to master this.
Still, you must be careful not to use either overly humble or grandiose words. Finding the right balance according to situation and nearby people is the hardest thing. Not all can do that, neither all pay attention to this.
That is what I aim for when I speak Croatian. With foreign languages that is much harder to acheive but eventually that experience should increase as well.
And about swearing...
I believe people swear because they lack skills to express their feelings effectively. No matter how angry or upset you are, your language must never lose usual composure. Practice above and extra care can cure this.
I don't mean to disrespect anyone, it is just my opinion.