I allow my children to swear, mainly because I swear. I was allowed to swear as a child, but I knew where not to swear. I do not allow my children to do name calling, "You are big fat pig!", "You are a stupid idiot, you moron!". That is not acceptable, as it is a personal attack on someone's character (especially in the family). It is not necessary, you can communicate your anger towards a family member using swear words but not with name calling. I do not punish them when they do name calling, but I do however talk to them and explain to them why it is wrong.
Your question though is not as simple as you put it. Swearing is not accepted by society, i.e. children are not allowed to swear. Some adults swear, some don't.
I believe that you should educate your child were NOT to swear, i.e. school, church(if you go), or social gatherings. It is frowned upon when you swear at work, so don't. Your child will learn to use swear words in moderation and only when necessarry(as a power word).
If you don't swear, and you want your kid to be socially accepted, then enforce the no swearing rule. If you however swear, do you want to be a hippocrate? Rather teach your child about the "real" world, ie. some people swear, some don't. You might even discover that because of the freedom, your child will swear less.
As a side comment, I believe swearing is due to a lack of a sufficient vocabulary. There are better words to use.