Не всегда подходит. Поиск HWND по WNDFIND возможен не для всех окон, для внутренних не сработает.
Поиск HWND по HGET нужно запускать в начале для всех окон поочерёдно, иначе не имеет смысла. И при потере окна (зависло ... требуется перезагрузка/обновление) в фоне невозможно, только выводить на передний план не обойтись.
В принципе это касается любого способа.
Я бы в начале скрипта определил все нужные HWND, потом переключал их как нужно.