Sanji has always been a couple of notches behind Luffy and Zoro. It's alright, he is a decent fighter in his own right, but he is far behind the top duo. It's been obvious since his defeat against VC Gin, his difficulties against Kuroobi and getting manhandled by Arlong, his extreme diff fight against Bon Clay (32 millions) who is miles weaker than Daz Bones (75 million) and through his weak portrayal during Skypiea being bounced around by Satori. And it hasn't gotten any better since the timeskip.
Sanji would probably have lost against Gin, Mr 1, Wiper, Ohm, Shura, Kaku, Steroid Hody Jones, Smoker, Vergo, Pica, Hakuba, Bege, Inu, Neko, Cracker.
Does that make him weak? No. He is the 4th strongest Straw Hat after Luffy, Zoro and Jinbei. Quite a great feat in the grand scheme of things.
Sanji would probably have lost against Gin, Mr 1, Wiper, Ohm, Shura, Kaku, Steroid Hody Jones, Smoker, Vergo, Pica, Hakuba, Bege, Inu, Neko, Cracker.
Does that make him weak? No. He is the 4th strongest Straw Hat after Luffy, Zoro and Jinbei. Quite a great feat in the grand scheme of things.