When I first had gray popping up, I used RC color successfully. I used the #7 and got med-dark brown hair. The trick to it was pooing but not conditioning or adding any stylers the day before coloring and then avoiding CK and any condishes/stylers with oils, glycerin, or lots of protein for a few days. I did even better if I didn't wet it for 2-3 days.
After a year or so, suddenly my hair stopped holding onto the RC color. My grays would reappear several days after I starting washing-conditioning-styling (with my "safe" products, after the 2-3 day waiting period).
I was really impressed that Robert Craig called me himself
and discussed what I had tried so far. He confirmed that I was doing everything he would suggest (no condish/stylers before, no wetting for 2-3 days, only using RC conditioner for the week following to be extra safe (it's a great condish whether you choose to use the haircolor or not) and avoiding riskier stylers for that week. He said it sounded like either the color wasn't strong enough to penetrate into the cortex of my hair (because it is so gentle) and therefore was being washed off the outside or, less likely but still possible, my cuticle wasn't reclamping down to protect the cortex afterward and was being washed out of there.
I suggest starting with RC color and the really narrow routine I've detailed above first because RC color is so gentle and didn't disturb my curl pattern at all. If it works for you, you'll be using a great option for your curls. If not, Robert Craig's website was great about offering a refund.
My DH has short, slightly wavy hair, and we use L'Oreal Excellence on him. L'Oreal Preference didn't take on his gray-white (prematurely was 100% gray in his early 30s). I wouldn't suggest jumping straight to the Excellence though because his hair does look somewhat damaged, even with being short (average man's length, not super-short for a man or anything).