My ds is nearly 11, ASD, goes to a special school and we have had swearing as soon as he became verbal at 5.
School and we tried everything but about 3 years ago I just decided that I wasn't going to worry. The outcome is that he is now quite moral about swearing when we are out and will tell us off for it, but he is very sweary indoors.
I would say to your ds, if you swear at school or out in public, you will sit somewhere quiet for 5mins. Tell him that younger children are not allowed to hear swear words. If you are out shopping, I would take him to sit in the car for five mins, not as a punishment, but so he can understand that swear words in public are not allowed.
Swearing around the house I would just ignore but explain to siblings that they are not allowed to swear, but ds has a different brain so we just ignore it in the house.
Don't punish him, it is likely he enjoys the emphatic nature of the words, my ds used to love shouting 'duck' purely because it has a hard sound at the beginning and end!