First let’s understand something, Sanji wasn’t against kicking women.
Sanji tells Zeff to kick women too
But then Zeff says this:
So everytime Sanji refuses to kick women, he is doing it for Zeff, he is just doing what Zeff taught to him. Zeff is not only his father, his savior, he is also his teacher, Sanji’s fight style only exists because Zeff trained him.
So when someone says “Sanji must kick womens” what they are saying is “Sanji must use what he learned from Zeff to do something Zeff hates”. And Sanji prefers to die than do something like that. I really don’t understand why this make Sanji worst then someone, the easiest thing is to attack someone who is weaker than you, but having the determination to die for your convictions, this is difficult.
Don’t matter if Zeff is right or wrong, Sanji was hated by his family and Zeff gave everything for him. If kicking women means doing something that Zeff hates so much, then Sanji will never do it.
I don’t see problem in this, because if Sanji cannot beat womens, someone in the crew can do it, that’s just what Sanji tells Usopp about teamwork.
“But why Oda puts Sanji in these situations?”
In my opinion, Oda wants to show how strong Sanji’s convictions are, and uses him to set the stage for another character’s fight like it was with Nami, but not everyone sees that away and think ODA is just putting Sanji in a lame situation.
“But Sanji attacks Big Mom in Whole Cake Island”
Wrong, Oda already answered about that:
So if someone don’t understand Sanji’s refuse to kick women, it’s not ODA’s fault, it’s the reader’s fault, because Sanji’s reasons are clear; it’s not a show of weakness, it’s a show of strengh, strong convictions, gratitude and it just make me love Sanji even more.
If a woman is a threat to the crew, Sanji can use his body as shield, he can die for his crew, but will never attack a woman.