The best way I have found to level up on SoulSilver/HeartGold is to beat the Elite Four repeatedly. Also a good way to get money. If your Pokemon aren't strong enough to beat them yet (they get way stronger after you beat them the first time) then I would recommend you train some on Mt. Silver. It has the highest level wild Pokemon in the game there, and is a great training spot for the Elite Four.
The action replay X200 exp cheat, that's the only way to get them to level 100 really quickly :)
Level 31
Level 40.
Level 55
Level 18.
Level 36
In Pokemon Soul Silver, Suicune is at level 40! ^_^
level 50
the answer is level 20
By cheating
wha?
Level 23
level 36
level 31
Level 25.
Level 36...
level 30
Level 31