This boss is divided into 3 phases. First phase is completely trivial whereas phase 2 requires good RNG and execution. The difficulty of phase 3 then depends on how well phase 2 was executed.
Phase 1 is simply a tank and spank phase. Vashj will initiate phase 2 when she reaches 70% health. During phase 2, Vashj will become completely invulnerable from shield and the only way to break the shield is to deactivate the 4 beacons surrounding her using tainted cores.
When phase 2 starts, she will still attack the player with forked lightning. Small adds called Enchanted Elementals will appear at the bottom of the steps of the platform from all sides and attempt to move towards Vashj. For each of these adds that reaches the boss, she will do 10% extra damage. At the same time, 2 other types of adds may spawn. And they both should be killed ASAP. The Coilfang Elite can sometimes slow the movement, but this can be countered with a talented Fade, although it is much preferred to not be movement impaired at all as every unnecessary GCD spent in phase 2 will add to the difficulty in phase 3. The other type of add is the Coilfang Strider, which has a constant 8 yard AoE fear that pulses every GCD. Fear Ward can only block off one pulse so it is vital to kill this before it gets in melee range. Those who have Tailoring profession (like me) can use Embersilk Nets to root the add for 3 seconds to buy some extra time. Non-tailors are recommended to use a PVP trinket in case they get feared.
Every 45 seconds or so, an add called Tainted Elemental can spawn at a random spot at the bottom of the steps. The only indication of the location of this add is the direction at which its poison bolts are coming from. This add only remains active for 15 seconds before despawning, after which it will randomly spawn again at another spot. This add will drop a Tainted Core when killed and it should then be used to deactivate one of the beacons.
Overall the strategy for phase 2 is to prevent as much Enchanted Elementals from reaching the boss and kill both Coilfang Elites and Striders ASAP as they appear. When Tainted Elementals spawn, get to it ASAP, kill it and use the tainted core to deactivate a beacon. Usually the tainted elemental will spawn at the same time as a Strider or an Elite, so in this case the tainted elemental takes priority. Simply dot up the Elite/Strider and kite towards the tainted elemental. Once the tainted core is looted, remember to use it before killing the next tainted elemental, as not using it will prevent further tainted elementals from dropping it.
Phase 3 begins when all 4 beacons has been deactivated. In phase 3,Vashj's damage will be heavily increased from the Enchanted Elementals that did reach the her. As soon as the final beacon has been deactivated, immediately try to gain distance from her as it is best to tank her in range during this phase. Tanking her in melee range will cause a wipe due to her Shock Blast, which does not happen when tanking in range. Another advantage of tanking her in range is that her autoshots have less speed than melee swings, which makes this phase a lot more survivable. Aside from that, this phase is just another tank and spank phase. Only thing to watch out for is the green puddles on the ground, though that does not do much damage.
PS. Before this video I had a very clean attempt where I reached p3 with almost 30% less stacks than the kill in this video.... but too bad a major lag spike caused me to DC when the boss only had 500k left.