Gohan is really powerful, we all know, especially for his age as he is still teenager if we are considering the specifics, while Majin Vegeta has become invincible due to his experiences in fights, and also his powers too are stronger. Majin Vegeta has fought with Super Saiyan 2 Goku, so it just would not be one sided in my opinion. Gohan had destroyed Cell if you remember, and that too without much strength. On the other hand, we have seen Majin Vegeta’s great strength against Goku and Majin Buu, so these all fights should be taken in consideration before just passing the crown to any one of them. I would surely say that it would be a fierce battle between the two, but Majin Vegeta would make the cut and win it. However, it would not be an easy win for him, as we will surely see him getting blows from Gohan, but it is just that Majin Vegeta is just relentless and Super Saiyan 2 Teen Goku might not be able to defeat him. But he will surely have a hard fight! One of the points to be cleared here would be right before Goku transformed to Super Saiyan 2, Majin Vegeta commented that at least you are stronger than your son was against cell. But it should be noticed that Gohan did not use all his powers against cell, nonetheless, we would still stick with Majin Vegeta winning as it looks like he might make it somehow. Also, Goku mentioned while Vegeta was transforming that him and Vegeta are even, which means, if Goku is stronger than Gohan and Vegeta is similar to Goku, then surely Vegeta would win against Goku at least by the statements we have from characters. So, I do believe that Goku and Vegeta are more powerful after Super Saiyan 2 stage than Gohan was, but he will surely have Vegeta on his toes even if he manages to win.