I use slivers of leftover white Safeguard soap to mark on dark fabrics. So far so good for me. The only thing I find is that the soap edge dulls fast, which makes the line quite wide. For me this is not a problem, but it could be if you need a fine line for very accurate marking.
I think white soap will always come out of a fabric when washed, as there are no dyes in it. You can wash clothing with bar soap, even if it is colored bar soap. I have never used colored bar soap to mark light fabrics, as I have been afraid the dye particles might stain; however, now that I think about it, it would be interesting to actually test that out. My biggest problem with that would be finding someone in the house willing to use a colored bar soap so I could test the sliver!