The best way for Soul is to run Arena.
Arena is actually more fair than PvP, because the troop levels are fixed. The only uneven one you have to worry about is the opponent’s Hero, but even then he doesn’t get any of the kingdom bonuses, so it’s still alot easier than PvP.
Also, it helps to find a guild so you can acquire more resources to get more troops.
First step, try and join a guild. The rewards from task completion can help a huge amount!
A couple good cores could be Alchemist/Valkyrie or Alchemist/Hellcat. Maybe something like Minogor/Hellcat/Alchemist/Luther? (Haven’t tested that team yet) Keep an eye out for Banshee and Treant, when you get those two you can do Treant/Alchemist/Valkyrie/Banshee which is a very solid team for lower levels.
Also for Soul Farming try: Warlockx3 (needs the first trait) and Valkyrie. It should work ok on some of the lower level challenges.
I would go with the Alchemist / Hellcat loop. Add a green/ blue troop up front for a full color spread, then a red/yellow troop in back to gain mana from the loop. Based on your collection, maybe something like: Swordmaster, Alchemist, Hellcat, Flame Cannon
Since you have a good basic cards, try using Valkyrie/Alchemist/Banshee with the top troop which you have a choice of Minogor. War Spjinx, Deck Hand as those level are relatively high. Use this team to farm souls. You should try out for challenge kingdoms to correct some souls.