I like both for different reasons:
I like Sanji because he has a combat style that only revolves around kicks and that he can do cool things when he's isolated from the Straw Hats. He has an element of surprise in the narrative and despite his lust for women would always treasure his relationship with the crew, most importantly the ladies, but also his dedication to Luffy. He's also usually a calm, collected character when things go south and analyze situations that some of the crew may overlook.
I like Hancock more out of bias for shipping her with Luffy and the fact that she is probably one of the few side characters that has done far more for him than he has done for her. Her dedication to Luffy is honestly amazing, despite being a side character.
EDIT: Here's a list of things Hancock has done for Luffy.
- Transported him to Impel Down risking her own Shichibukai status and while she completely resented the government and didn't want to participate in the war with the Whitebeard Pirates
- Snuck him into the prison and prevented detection from Domino
- Was the one who gave him the keys to Ace's handcuffs (which Kizaru destroyed)
- Provided Luffy sanctuary on a part of her island (an all women island where men are forbidden) after the Whitebeard War where he could recuperate from his grave injuries and was so concerned for his well being she barely slept or ate herself
- Fed him once he fully recovered every day and provided him transportation to Marineford to help deliver his message to his crew.
- Transported him to and from Rusukaina for his training. Had Rayleigh not deterred her, Hancock would had fed him everyday too for those 2 years, too.
- Prevented the Marines from getting in the way of the Straw Hats submerging to Fishman Island.