-first of all, sanji is nothing but a minor inconvenience for zoro.
-second of all, zoro is astronomically better written than sanji.
-they don't share a common ambition. other than making luffy the PK which in that case they cooperate according to zoro's requests.
-their paths toward strength are fundamentally contrasting:
+zoro being a natural born human is always on a journey of attaining strength and transcending his human limitations and he hates and blames himself for his occasional lack of skill and for his human weaknesses.
+sanji on the other hand is lab-created superhuman with a plot required error that makes his powers dormant for the sake of story progression, the awakening of his powers was just a matter of time, he even hates the source of his strength, and blames his family for every part in it.
-here's what sanji supposed to do just to catch up with his siblings (for a human to become a superhuman):
train a hundred times harder than anybody.
instead he just needed to run away from all his problems and wear a raid suit three times:
-while zoro trains harder than anybody, yet he always hits the wall of his human limitations and thus he suffers even harder to surpass them with his willpower and strength of spirit:
-zoro and luffy have the spear of grit and the will to survive and live.
-sanji lacks that completely, he's quick to give up, and he doesn't value his life.
-zoro has the guts to always do and say what is right and he always enforces his will accordingly.
-sanji always just go along with the flow, and let the circumstances overcome him.
-zoro respects and sympathises with his opponents, he fights honorably, and his opponents are respectable and honorable warriors.
-sanji always fights dirty, sneak attacks, and his opponents are most of the time perverted clowns that don't deserve respect.
-finally: sanji tried to sneak attack zoro on their first beef, and failed miserably.
conclusion:
-zoro is clear.
-sanji is a clown.