When Pokemon are evolved or sent to the bench through retreating or due to a Pokemon's effect of an attack, they lose all "status" conditions such as Sleep, Poison, Paralysis etc.
ONLY ACTIVE Pokemon can be affected by "status" conditions.
If a Pokemon is burned, poisoned or confused they can retreat by paying the retreat cost or evolving.
If a Pokemon is asleep, it must wake up in order to be retreated normally, but can use trainers such as "Switch" to get the Pokemon to the bench or if you able to evolve that Pokemon that turn, it will remove the status condition(s).
If a Pokemon is paralyzed it cannot attack nor retreat. So you must have another way of retreating the Pokemon or being able to evolve it that turn.
To finalize on your questions:
1) Yes he can play switch on a asleep Pokemon
2) Yes the Pokemon will wake up and have all "status" conditions removed
3) If you use an attack which has one status condition, it will replace it.
For example if you attack with a move which puts a Pokemon in confusion and then following turn attack it with a move which puts a Pokemon asleep, the asleep condition will replace confusion. The only status effects which work together are "burned" and "poisoned" along with 1 of the following: Paralysis, Confusion and Sleep.
4) If you force your opponent to retreat their active Pokemon, then all status conditions are removed since the active Pokemon has gone to the bench.
Here are some tutorials on the game which explain all the basics and advanced rules if you don't wish to just read a rule book. You can go through them with your son and they are interactive, so you can play and learn through the tutorial !
http://www.pokemontcg.com/tutorials
Ideally this post has answered your questions