I like to train them in victory road until they are able to take the grass outside of mt.silver.
At the Pokemon league.
find a place that has wild Pokemon the same level as it.
route 205 for Pokemon diamond, pearl and platinum. the trainers have Pokemon from level 10 to level 17
Pokemon league :P
elite 4
Nowhere.
The best place to train Pokemon level 40 and above is at Mt. Silver. Since you cannot gain experience through multiplayer battling, the highest leveled place is Mt. Silver. Pokemon average level 40-49 in Mt. Silver, so it is a good place to train.
train... train...TRAIN...
the place where you can breed Pokemon next to heart-home city, that's where i go
Anywhere that u find Pokemon that are close to the shromishes level.
Route 201 or 202 or 203
in mt.silver or in the Pokemon elite four in think!