messing around with the demo aoe action list. I thought it would be a DPS gain to HoG on the pull, rather than sitting on 2 charges of HoG until you have all the targets corrupted. Turns out to be dps neutral at best, to put a HoG condition similar to the single-target one high up in the aoe list. (aiming for a 2-stack of shadowflame on everything while multidotting corruption).
One thing I did notice was that the sample sequence was double-casting immo aura. Presumably a bug, IDK why it would let it cast twice but not just chain refresh immo aura every GCD. I added an if=!ticking condition, and that took care of it.
I also tried adding a touch of chaos action to consume Demonic Calling, for when you're not using glyph of wild imps. (void ray doesn't trigger it, only sbolt/toc/soulfire). This was worth maybe 1k dps out of 250k on 6 targets; maybe there's a better place for this action, or maybe one should just use glyph of wild imps. Watching that buff and weaving in ToC is something extra to pay attention to on Wind Lord, so it has practical advantages for a simpler job in a real fight.
Delaying Dark Soul until you're about to enter meta should be a dps win, right? But it didn't seem to be when I just simply moved it to right before Meta. Does the sim know that Shadowflame damage is calculated based on buffs when the shadowflame DoT is applied? I assume HoG damage is based on buffs you had when you cast it, but if I HoG, then pop synapse springs after it's cast, but before it lands, shadowflame will have buffed ticks. You can't get meta's dmg bonus applied to shadowflame ticks, but you can get dark soul if you HoG then dark soul.
This action list doesn't sim statistically significantly better than the default one, but it's what I'm playing around with. Simc 510-1. (I didn't respec harvest life before logging, so I've been testing this with hellfire, not harvest life. 490 ilvl, 2T14. A couple pieces with Aff gemming/reforging)

actions=curse_of_the_elements,if=debuff.magic_vulnerability.down
actions+=/use_item,name=claws_of_amethyst
actions+=/use_item,name=belt_of_detonation
actions+=/jade_serpent_potion,if=buff.bloodlust.react|target.health.pct<=20
actions+=/service_pet,if=talent.grimoire_of_service.enabled
actions+=/grimoire_of_sacrifice,if=talent.grimoire_of_sacrifice.enabled
actions+=/summon_pet,if=talent.grimoire_of_sacrifice.enabled&buff.grimoire_of_sacrifice.down
actions+=/melee
actions+=/felguard:felstorm
actions+=/wrathguard:wrathstorm
actions+=/run_action_list,name=aoe,if=active_enemies>3
actions+=/summon_doomguard
actions+=/corruption,cycle_targets=1,if=(!ticking|remains<tick_time)&target.time_to_die>=6&miss_react
actions+=/dark_soul
actions+=/doom,cycle_targets=1,if=(!ticking|remains<tick_time|(ticks_remain+1<n_ticks&buff.dark_soul.up))&target.time_to_die>=30&miss_react
actions+=/metamorphosis,if=buff.dark_soul.up|dot.corruption.remains<5|demonic_fury>=900|demonic_fury>=target.time_to_die*30
actions+=/cancel_metamorphosis,if=dot.corruption.remains>20&buff.dark_soul.down&demonic_fury<=750&target.time_to_die>30
actions+=/hand_of_guldan,if=!in_flight&dot.shadowflame.remains<travel_time+action.shadow_bolt.cast_time
actions+=/touch_of_chaos,cycle_targets=1,if=dot.corruption.remains<20
actions+=/soul_fire,if=buff.molten_core.react
actions+=/touch_of_chaos
actions+=/life_tap,if=mana.pct<50
actions+=/shadow_bolt
actions+=/fel_flame,moving=1
actions+=/life_tap
actions.aoe=summon_doomguard,if=active_enemies<7
actions.aoe+=/summon_infernal,if=active_enemies>=7
actions.aoe+=/hand_of_guldan,if=!in_flight&dot.shadowflame.remains<travel_time+action.corruption.cast_time|charges=2
actions.aoe+=/touch_of_chaos,cycle_targets=1,if=dot.corruption.remains<20&buff.demonic_calling.up
actions.aoe+=/corruption,cycle_targets=1,if=(!ticking|remains<tick_time)&target.time_to_die>30&miss_react
actions.aoe+=/hand_of_guldan
actions.aoe+=/dark_soul
actions.aoe+=/metamorphosis,if=demonic_fury>=940|demonic_fury>=31*target.time_to_die
actions.aoe+=/immolation_aura,if=!ticking
actions.aoe+=/void_ray,if=dot.corruption.remains<10
actions.aoe+=/doom,cycle_targets=1,if=(!ticking|remains<40)&target.time_to_die>30&miss_react
actions.aoe+=/void_ray
actions.aoe+=/harvest_life,chain=1,if=talent.harvest_life.enabled
actions.aoe+=/hellfire,if=!talent.harvest_life.enabled
actions.aoe+=/life_tap