Both ways take up a LOT of time, and I mean A LOT! So much time, that I wish you had XD to cut up some of the time that's used up when trying to make a Pokemon Level 100... But the pick-up trick takes up more time than training in the E4, but even training in the E4 makes you want to dedicate either one entire day, or even an entire week, just to make a pokemon level 100. It depends on how much EXP. it takes to make the Pokemon a level 100 one, and that depends on its growth rate...
For more information on determining how much experience your pokemon needs and what pokemon you should defeat, check this link:
Experience your pokemon needs
... and remember these formulas:
Base Exp. = Math_Ceiling((Exp.Given * 7)/ R / T / L)
Exp. Given = Math_Floor((Base Exp. * L)* R * T / 7)
Key:
R = 1 if battling wild pokemon; 1.5 if battling Trainer
T = 1 if you are the pokemon's OT; 1.5 if you got it's traded and OT ID doesn't match your ID
Level = Losing(Fainted) pokemon's level
Remember the above info. if you want to train your pokemon faster, because the more information you know about how much experience a pokemon gives you when they faint, the faster the pokemon will get to level 100... Now thank you, and have a good night...