Kuro was faster than the eye could see for Luffy at the time, until he was tired. Even when he was tired Luffy was using his stretchy arms to grab him from far away. The one time Luffy hit Kuro grabbed full speed Kuro before he was tired, it was after being hit first. If it was Sanji by the time he reacts to being hit and throws a kick, Kuro would be too far away. Sanji shouldn't have a chance.
If they fought at the Baratie maybe Kuro can't use his full speed stealth foot anymore without falling into the sea. Kuro was able to dodge Luffy's attacks from a distance, but was slow enough for Luffy to react and hit Kuro first the couple of times Kuro attacked him. The only time Kuro hit Luffy without using his full speed was when he ran along Luffy's outstretched arm. Maybe Sanji can actually keep up with Kuro's non-max speed and hit him as he's coming in.