People say Luffy and Zoro fighting as a duo has never happened but the story has played out this same way numerous times. The true dynamic of the Monster Trio is that it never works as a trio.
- Alabasta: Luffy and Zoro would have originally fought together with Crocodile, got captured, while Sanji is on his Mr. Prince and able to save the day.
- Water 7: Luffy and Zoro are leading the sea train and fighting off the waves, while Sanji is on the other train trying to recapture Robin.
- Punk Hazard: Luffy and Zoro left the ship to explore, Sanji stayed behind with the other members.
- Dressrosa: Luffy and Zoro were fighting, Sanji was leading the crew to Zou. (*There are many more examples of them working this way).
We can see what happens when it doesn’t work like this on Whole Cake Island. Luffy and Sanji fought Big Mom the way Luffy and Zoro would and everything went wrong fast.
Overall, Oda has always had them operate where Luffy and Zoro take something head on while Sanji is supporting. There is a reason for this as well. If the three of them all are together, that’s when things go wrong.
- Thriller Bark: Ussop, Nami and Chopper all leave together while the trio stays behind, basically have to run for their lives the entire time.
- Punk Hazard: the trio leaves Chopper and Nami with the kids, they end up getting blown up by Caesar.
- Dressrosa: the trio all leave to go on the island, within in an hour their attacked by Doflamingo, until guess who, Sanji saves them.
So the real reason why Sanji was not on the rooftop at Onigashima is not because “Oda hates Sanji” or “Sanji is weak” it’s because they cannot exist in the same space away from everyone else without everything going wrong (by design). It’s the same reason why Zoro couldn’t be in Whole Cake Island and Sanji couldn’t stay on Dressrosa. Their dynamic doesn’t and will never work like that.