I would recommend that you travel by train in an AC coach. I emphasize TRAIN, AC and AVOIDING FLIGHTS for the following reasons:
1. Mumbai & Lucknow are well-connected by several trains that run round the clock. You are likely to find a train that departs from Mumbai and arrives at Lucknow at a very convenient time.
2. Most trains in this route arrive on time or are delayed by a maximum of 10-15 minutes usually. The punctuality on this route is much higher than average.
3. AC would be preferable to avoid the summer heat which can be very high. Besides sleeper coaches are bound to be highly congested thanks to the constant presence of at least 9-10 travellers who travel in each reserved coache without prior reservation. AC coaches will also be free of hawkers, beggars, etc.
4. The Mumbai-Lucknow (most flights incidentally stop-over at Delhi & then proceed to Lucknow) sector is not a busy/highly profitable sector, and therefore most airlines give it low priority. This means that you stand a much higher risk than normal that your flight is delayed a lot or even cancelled. The problem compounds if you plan to catch a connecting flight. Additionally some of these are small aircraft, and have extremely uncomfortable seating arrangements.
I would say therefore that your order of priority should be:
1. AC Train
2. Mumbai-Lucknow Flight (not sure if direct flights are available, i.e. without touching Delhi)
3. Mumbai-Delhi-Lucknow Flight
4. Mumbai-Delhi Flight, Delhi-Lucknow AC Train
5. Mumbai-Delhi Flight, Delhi-Lucknow Flight
6. Mumbai-Lucknow Train Sleeper Class
Source: Personal Experience, Friends