Peroxide always worked for me. You can use it even if you can't wash it right away. I've used it on all colors as well as all types of materials. Its taken out blood, grease, makeup, magic marker/pen, etc.
If you are taking the item off and won't be washing it right away...saturate the stain in peroxide and toss in the hamper. When its time to wash, wash as normal. If you are going to wash right away...same thing..saturate the stain in peroxide and wash.
If you are wearing the item, you can use peroxide to 'wash' out the stain. Then launder as normal.
My daughter was Christened at an older age. She was dressed in her Christening dress (white and a silky type material, can't remember exactly the material now) and decided it would be fun to draw with sharpie markers before Church. I came in her room and found her with red and black sharpie marks in many areas of the dress. Took some peroxide and rubbed out the stains. Came right out, no sign of anything amiss at all after it dried. No one believed those marks were ever on the dress.
Careful with the Tide to Go pens, if I'm not mistaken they do contain bleach.