To tell you the truth, no, Vergil shouldn't have been the winner, imo, but just because they needed to link DMC3 with 1, having him fight Mundus and become his servant. If he won, and his plan succeded, that event wouldn't have happened.
BUT they should have developed Dante's progress a little bit better. Cause throughout the entire DMC3, Vergil is clearly shown to be stronger and a better swordsman than Dante, and his progress in power level (Dante's) is too quick to be believable at a first glance, imo.
But maybe it's because of Dante's acceptance of his humanity, like DragonMaster says. The series has heavily hinted that once a demon embraces humanity, he reaches the "full potential" (not the most correct term, but I can't find a more accurate expression). Therefore, Dante won over his brother despite him being a better fighter.
So ultimately yeah, the way their final battle ended is fine by me. And on a side note, the final showdown is goddamn well directed, I'm happy with that too:thumbsup: