Showcased as early as Arlong Park, Zoro is always spearheading attack with Luffy. Meanwhile Sanji is always protecting. Sanji goes in the water to protect/save Luffy, while Zoro takes on the other threat and even draws out Arlong.
We see it again on Little Garden, Zoro is fighting alongside Luffy, Sanji is back protecting the crew and ship. It continues all the way through Dressrosa, Sanji goes back to defend the boat, even though Zoro knew the boat was in danger long before Sanji.
If you are going to measure the power levels, shouldn’t you take into account where those power levels are being directed? If someone is trying to block Luffy, Zoro intercepts. If someone is trying to go after the crew or ship? Sanji intercepts. Why did Sanji go to Whole Cake Island? To protect the crew.
Who was going to take on Luffy’s pain at Thriller Bark? Zoro. Who stepped in? Sanji. Who ended up doing it and why? Zoro, it was protecting Luffy.
At this point, it’s somewhat clear that Zoro and Sanji are designed to be literal opposites of each other. This is pretty damn clear in Wano with their initial power-ups.
When they receive them, why do they want to use them?
Zoro: To cut Kaido.
Sanji: To save people who need saving.
Zoro loves battle. He’ll fight to fight. In the Onigashima arc, Zoro has more or less been fighting towards a singular goal, cutting and killing Kaido. He gets a badass sword that’s supernaturally lethal.
Sanji fights and is confident with his strength, but he is primarily motivated by altruism. In the Onigashima arc, Sanji’s mini-arc here is, helping people. He appeared to save Momonosuke. Appeared again to help Luffy travel up, and then went to save a woman in danger. Then he appeared again to help Chopper. He gets a suit of armour with a cape that doubles as a shield.
*Theory by Nighplasmage54/GabrielMichaelson