We will be in southern England (near Portsmouth) and then move onto London. Do we dare drive into London to drop off a car, or do we drop the car off somewhere else and train or bus in? And where is the best place to train or bus into London from? We would like the least expensive route and least complicated (1 or 0 transfers).
If you are renting a car, drop it off at the airport, You can take the tube in from Heathrow or busses/trains from there and the other airports. Do not drive into London!. You could always drop the car off in Portsmouth and take a train from there.
London charges a hefty congestion fee to drive in the city, and the streets are a nightmare to navigate by auto. Best to drop off the car somewhere else, and take the rail into town. I can't answer the second part of your question because I don't know your destination in London.
You could drop off at Gatwick or one of the other suburban locations. I know travel from Gatwick into London is quite simple. First Capital Connect has train service from Gatwick and there is the Gatwick Express, but that's more expensive.