The thing about SA's Python implementation is that it does not work well at all on Windows.
In fact, the miner got faster by 10% just by switching from SA to sgminer-gm while keeping the same Equihash kernel.
I am not entirely satisfied with sgminer as I said before, and I will probably write my own backend and user-interface in Clojure in a long run.
Python on Windows always has been a less than preferable situation. Haven't personally run silentarmy on anything but Linux so I can't comment as to what the root cause of that would be. The solver and work distributor being separate was what made it have those characteristics I described earlier.
Clojure is an not a great choice imo. It's difficult for outsiders to approach, requires a JVM, and runs slower than Java in benchmarks. It's your thread and project, just my two cents.
Give 4 threads a go one day on sgminer. One card is randomly selected to display roughly double the rate it should be getting (even though the 5s and avg show otherwise) on my 3 card rig.
3 threads and xI 673 give the highest hash rate from my testing.