To add onto that, since I obsessively breed/EV train my team, power items add +8. Please, please, please use power items. Pokemon have 510 EVs total, with 252 EVs max in a stat. You could defeat 252 poochyenas to max out your attack EVs... or you could give your pokemon a Power Bracer and be done after 32 poochyenas. Power items, always!
This guide doesn't have every location for EV training, but it splits things up by stats, so it's very handy. The next post in that thread links to a very complete list of EV spots, but it's sorted by location.
Some additional tips that I found handy:
As long as your pokemon receives experience, they also receive EVs. So if the spot you're EV training is too strong for your baby pokemon, you can always put it in front and immediately switch it out and it'll still get the EVs.
If you make a mistake with your EVs, you can buy EV-lowering berries in the Obsidia Ward Shop on the 2nd floor ("friendship berries") (they are on the 8th floor in episode 17, moved to the second floor in episode 18). These will lower your EVs by -10 per berry and also increase the happiness of your pokemon. There are also reset discs in the Mosswater Market in Peridot, but idk too much about those.
Power items give you +8 EVs in their stat regardless of what you're actually fighting. If your pokemon defeats a Poochyena, you get +1 attack EV; however, if your pokemon holds a Power Band (gives sp.def evs) when it defeats a Poochyena, it will receive +1 attack and +8 special defense! Which brings me to my time-saving tip...
Save time by focusing on the harder stat first. Let's say I wanted to train my Bulbasaur to have EVs in HP and Sp.Def. Special defense training is annoying to me, it takes too long. So here's how I'd get it out of the way quickly. First, I give my Bulbasaur the proper Power Item (Power Band in this case). Now every time my Bulbasaur defeats a pokemon, it gets +8 sp.def guaranteed no matter what it fights. So I have it fight a ton of low-level mons without caring what EVs they actually give out. With a power item, it takes 32 wild pokemon to max out a stat, so even if my bulbasaur fights 32 Poochyenas, it'll still end up with 252 sp. def thanks to the power item I gave it. The useless 32 attack EVs the poochyenas gave can be easily erased with 4 kelpsey berries from Obsidia. I knocked out sp.def training super fast.
My personal process goes something like this. Let's say I'm EV training a Slowbro.
Figure out my Slowbro's EV spread ahead of time. I want it to defend against physical attacks, so I'll do 252 HP/252 def/4 sp.def.
This is a personal preference, but grind in the Grand Hall so my Slowbro is high enough level to beat wild pokemon on its own. I hate switching out pokemon during EV training, too tedious! I have Lucky Egg/exp. share that make leveling way easier so I get my mons to level 50ish before I EV train, again that's just me though
Erase junk EVs accumulated from grinding with EV-reduction berries in Obsidia
Figure out which stat is more annoying to train. HP EVs mean I'm fighting wailmers and Def EV means I'm fighting low-level sandshrews/geodude and stuff in the cave. HP is harder for my slowbro, so I'll focus on HP first.
Give slowbro a Power Weight (+8 HP EVs) <-------- most important step
Go to the cave where I'll eventually train defense and have slowbro beat up every pokemon it can find. Geodudes, sandshrews, dunsparces, noibats, whatever. 32 dead mons later and my slowbro has 252 HP EVs.
Erase junk EVs with EV-reducing berries
Give slowbro a Power Belt (+8 Def EVs)
Beat up pokemon that specifically give Defense EVs. I'm way more selective now. I only want geodudes/gravelers/sandshrews and such. I run from Noibats since they don't give what I want. Now my slowbro has 252 HP/252 Def
Give slowbro a Power Band (+8 Sp.def Evs), fight a pokemon that gives defense. Since slowbro's already maxed out in defense, it won't get anymore defense EVs, but it'll get 6 sp.def EVs thus capping it out at 510 EVs maximum.
Go back to the Grand Hall and level up my fully EV trained Slowbro to the rest of my team.