Yes, if the EXP Share is on while defeating wild Pokemon, the EVs will be spread to every Pokemon in your team that has yet to completely fill its EVs. Following this logic, if you turn off EXP Share, only the battling Pokemon (could be more than one) will get the EVs, and if you don't even defeat wild Pokemon, but instead fight Trainers for EXP, you should be able to reach level 100 without any EVs in any stat.
Now, for EV training locations, I'd say the easiest and most precise way is through Poke Pelago's Isle Evelup. It is available to renovate and upgrade from when you unlock Pelago. Isle Evelup trains the Pokemon put in it in a particular stat, raising the EVs in that stat, or giving it EXP. One can choose up to six Pokemon to put in at first to train in the same stat, and how much to train (in specific numbers), so it's good for mass 252 training. It's wise to upgrade it to Tier 3 as you are then able to put 3 groups of Pokemon in at the same time. However, the one drawback is that it could take up to 48 hours to train a Pokemon fully, making it time based. Changing the 3DS time won't help either, as that renders Pelago useless for two days, I believe. It is the most precise, though, and easiest. I've already used it to train quite a few Pokemon perfectly, and with no trouble at all.
Other ways of EV training include SOS chaining, in which you encounter a wild Pokemon that gives off an EV (or EVs) that you want for your Pokemon, and continuously have it call for help so you can continue getting EVs until the stat is to your preference. Another way is just to repeatedly encounter wild Pokemon that give EVs and just continuously defeat them until the stat is to your preference. I find these methods less precise, although it may be faster, they're worse for smaller numbers of EVs, such as 188 Def, as you have to keep close track of how many Pokemon you have defeated.
More information on the topic can be found here.
Source: Experience, link, and prior knowledge