I prefer National Express but I can live with Megabus, if you're in a group Megabus is okay 'cause you just all sit together, we did London > Portsmouth and there were four of us, and that was fine, but we did London > Sheffield which was four hours & the bus was packed so we had to all sit at the back & it wasn't very comfortable for that length of time, also coming back from Sheffield Megabus has come down from Edinburgh first so there were hardly any seats & we ended up two of us right behind the driver with no leg room & that wasn't majorly comfortable...
If I'm on my own I much prefer National Express, it's more comfortable & the people on it tend to scare me less, but going back London > Portsmouth on my own after Sheffield was alright, I went in October though & I ended up on a bus full of students so everyone was just talking to everyone which was nice.
I'm doing megabus London > Leeds with a friend in a couple of weeks, but it should be alright.
What I will say in megabus' favour, they tend to get you to the destinations early, NE tend to get you there late.
But if you're going a long distance it's better to get National Express funfares, 'cause if you've got a connection buying an extra funfare each way in case you miss one works out just as cheap as Megabus because you don't have to pay a booking fee.
Oo I wrote a lot, lol, but I've been frequenting both for over a year.
NE London > Birmingham has leather seats, that's always nice ^_^