One thing people don't understand about Sanji is how his combat role has slightly shifted Post Timeskip...into a full-time "Protector". This is not due to Sanji changing in character or strength....this is due to the plot or context Oda always does.
- Sanji vs Wadatsumi = Sanji was protecting Nami from Wadatsumi
- Sanji vs Vergo = Sanji was protecting Tashigi from Vergo
- Sanji vs Doffy = Sanji was protecting the SHs from Doffy
- Sanji vs Sheepshead = Sanji was protecting Curly Hats from Sheepshead
- Sanji vs Daifuku Part 1 = Sanji was protecting Pudding from Daifuku
- Sanji vs Oven = Sanji was protecting Chiffon from Oven
- Sanji vs Raisin = Sanji was protecting Luffy from Raisin
- Sanji vs Daifuku Part 2 = Sanji protecting Carrot from Daifuku
- Sanji vs P1 = Sanji was protecting the Town from P1
Of course their are times where its not always because of the protector role, but that's due to circumstancial things such as Luffy vs Sanji, Sanji vs Judge and Sanji vs Niji. But almost every Post Timeskip fight, Sanji is playing the Protector role.....That's why all his fights now usually end in oneshots or a unfinished because Sanji saved the person.
This is why Sanji vs Queen can't happen. Well atleast it cant happen because of Judge. Sanji vs Queen can only happen if Queen is constantly terrosing one of Sanji's allies or friends, so Sanji has to take him on. Other than that, Sanji wouldn't be interested in fighting Queen at all. Queen as of now is only truly interested in Drake, and Sanji couldnt give a rat's ass about Drake. King on the other hand, after dealing with Marco somehow.... will either be after the Scarbbards or Momo. He will be a constant danger to the people Sanji is interested in helping this arc. So Sanji needs to take him on to protect everyone from him.