I was messing with this phenomenon recently, I will detail this because I hate this!
I found that with weight maps, you need to have the area be white where there is poke-thru, and a collision shape in place to counter that white.
If you have poke thru in the black/grey zone, it will not(black)/may not(grey) work, even with a collision shape in place, because the black suspends the soft cloth's ability to be affected by the collision shape.
Also, the weight map has to be specifically mapped over the clothing, it may require more than a simple be a general simple gradient 50% line, let's say.
I had a problem with a dress and it was so annoying, and I discovered that the UV map on the dress itself was not laid out perfectly, it was all over the place, some sideways, some on top of the UV map, some on bottom end of UV map. Once I went in PS and mapped the weight per clothing piece, I had success. (BTW - In the weight map area if you can't generate a UV map, make sure there is a material in the diffuse channel, and not blank with only a diffuse color.)
But once you have this part done, you really only need to experiment with the collision shape itself. Now, with collision shapes, this also becomes daunting because the shapes have to match the part of the body (ie will look weird if a collision box on a waist or thigh, for example...). So like Kungphu says, an opacity mapping to mask of the skin outright works better here in that it is easier and faster. Only with this it is trial and error locating where you are targeting.
I really would love to see a CC-type interface that lets you, in some automated algorithmic way, target and eliminate softcloth poke-thru. But for now it's a manual nightmare of a mess.
But such is the way of 3D animation. It is a blessing and a curse.