Contrary to popular belief, Pokemon do NOT get double the EXP by battleing with EXP Share on.
The daycare is also a bad idea, as it may delete moves that you need your pokemon to have.
It is also a proven fact that a level 50 pokemon raised in the daycare will be much weaker than a level 50 pokemon raised by battling others (The reason is because the daycare pokemon wont get any EV's, but that's a different topic).
The best method is to trade your pokemon to a freind, then have them trade your pokemon back to you.
This way, the pokemon gets a boosted amount of EXP, because it was traded. Then begin training on wild pokemon that are within 5 levels of your pokemon. When the pokemon in the area don't satisfy your needs anymore, move on to an area where stronger pokemon are, eventually relocating until you come to Victory Road. After even they become too weak, start rematching trainers, then beating the Elite Four.
Just remember to not be stagnant. My rule of thumb is: If you have to kill more than ten pokemon in an area to level up, then you should probably move along. Just be aware of your pokemon's abilities. No sense in training bug pokemon in Victooad, which is full of rock types. No sense in training fire pokemon on the ocean. Find the best area for your pokemon and go lvl sumpokemanz!
Another option:
Many people disagree with this method, but it will work for you if so far you have one pokemon trained to a much higher level than the others.
Say you have a level 20 bulbasaur, and lots of level 10's. Go to an area with level 20's (or slightly higher if you think you can handle it), and put one of your level 15's so they start in battle. As soon as battle starts, switch them out for your bulbasaur.
This is a method that can also be employed for training pokemon that start without attack moves.
go to trainer to utot train do yo want to train uutot kanalan
trade them to heartgold
The fastest possible way is to train a Pokemon someone else gave to you and have it hold lucky egg.
Train with the Lucky Egg (1.5x EXP) or Trade to another game with the Lucky Egg.
Train it as you train all pokemon.
train them
You could train in Victory Road. It has the highest leveled pokemon. Thanks very much.
fight gym leaders that are weak against your type
give the Pokemon you want to train an exp share then put your strong Pokemon first on your team and train on high leveled Pokemon the Pokemon with the exp share should level up by itself!
go to trainer to utot train do yo want to train uutot kanalan
Give your Pokemon a Rare Candy,or give it an Exp. Share and train.
trade them to heartgold
The fastest possible way is to train a Pokemon someone else gave to you and have it hold lucky egg.
How far are you in the game? Victory road always works, or using your VS seeker. Or, you can EV train. You can search the information if you want to ev train. It can boost stats by a big chunk each time you level.
Find a specific route or cave to train your Pokemon in and stay there for a long time.
Train with the Lucky Egg (1.5x EXP) or Trade to another game with the Lucky Egg.
train... train...TRAIN...