It can test 588 passwords per second on my modest GPU. I guess that's a lot better than a basic Python script.
You should also have a look at probable wordlists[1], which contains a lot of passwords sorted by their popularity. It could significantly speedup the research, as long as your password has already leaked elsewhere.
When Ethereum was being developed, the spec for SHA-3 wasn't finished or something: https://ethereum.stackexchange.com/questions/550/which-crypt...
It sounds like you have it under control but I typically point people to Dave @ https://walletrecoveryservices.com/ for the less tech-savvy. He's pretty good. You can look at his site for what he can and can't crack. I know he's super super busy but it never hurts to give him a shout and ask him if he has any pro-tips or open-source code somewhere. A ping from someone who has a basic understanding of encryption might be refreshing.
Here are a random assortment of links I have saved regarding recovering presales:
https://www.reddit.com/r/ethereum/comments/46887p/tips_for_r...
https://forum.ethereum.org/discussion/3045/request-post-pass...
https://www.reddit.com/r/ethereum/comments/3g6aw0/i_lost_my_...
I'm currently trying 21970881 passwords against the hash using fairly basic python code (ETA: 2-3 days), and can definitely use tips for speeding up the work, as Id likely need to try an order of magnitude or 2 more generated password in order to crack it.
1. https://etherchain.org/account/0x35f5860149e4bbc04b8ac5b272b...