This is a question I am often asked. Normally most silk can be hand washed with a gentle non alkaline soap or shampoo, with a capful of white vinegar added to the rinse water. This will also normally remove most stains. However stains from perspiration, perfumes, and deodorants can cause irritating marks on your silk garments. In order to get rid of these stains sponge the affected area with diluted ammonia.
The alcohol content in the perfume can damage the colour and leave spots on your clothes. Apply a few drops of a denatured alcohol on a soft clean cloth and sponge the area from the outside in. This sponging technique will help to restore the colour and the stain will eventually disappear.
Fresh perspiration stains are supposedly acidic and washing can remove them. Older stains take an alkaline form, and you’ll need to sponge the garment with diluted vinegar to remove such stains. For more stubborn discolorations, apply a mixture of cream of tartar, crushed aspirin, and warm water to the area. Wait for twenty minutes, then rinse the area with warm water. This usually does the trick.
I welcome other suggestions that you may have found worked for you.