So basically, because it goes against my agenda I don't consider it a fight, but I consider Robin vs Yama a fight because it suits me. Let me tell you that more than half of the fights in this manga are gags and jokes, Sanji in particular is very well known for his gag fights and gag opponents
BB is the captain of the BB pirates and it is why we don't say BB vs Robin.
People choose the BB opponents of strawhats based on flimsy and trivial arguments like both being entertainers (Brook vs Vasco), having a nickname of 'colossal battleship' (sanjuan wolf). Most of the reason you choose Laffite is based on weak headcanons as well. Both being navigators is still a much compelling reason than any argument for Sanji vs Lafftte
Lafitte torturing Pudding is currently a headcanon of yours.
Nami literally slapped him in whole cake island for beating the shit out of Luffy. Don't make me laugh.
Moriahs commanders are his version of the weak trio, which fits with Moriah's story of being a broken man who lost his strong crew against Kaido.
Absalom > Nami
Hogback > Chopper
Perona > Ussop
Oda wanted Zoro to have his solo fight against a Wano samurai with no external drama for obvious reasons. Sanji didn't even finish off his opponent. The main enemy of the arc was Moriah and Oars. And the big moment of the arc with Kuma was all about Zoro.
How you compare that to the final fight against BB pirates? Again, Oda will never have Sanji fight someone who holds more authority than Shiryu.