These threads drive me insane. They're always full of bias. Fact is each player bats in different positoons, in different counties at different times etc. They're just pointless. Does there need to be a 'best'.
To stay on topic, it certainly isn't Dilshan - he's in good form sure, but he's old and to be fair his career has been mediocre as a whole. Dhoni has been good but a lot of the time I feel he's unpressured. You see him score lots of hundreds on flat Indian pitches when he elevates himself to #3 and bats at like 6 on tough pitches. Hussey is in a bit of a form dip. It's a hard call but probably Sehwag based on the fact that he's had such a great career and right now he's in his best ever form. In all conditions, all forms of the game he's a great player.