Yeah, Mt. Silver is good - and easy if you have Grass, Ice, or Water type Pokemon to train, but you only gain about 600 to 800 experience points per battle.
I think the over-all best way to level-up for any Pokemon above LV38 is the Elite Four. You average easily 1200 - 2200 experience points per battle with each Elite Four Pokemon.
Plus, you get both experience and money by battling them over and over.