Yep, it's WFT. I'm coding it up in TeamSite::WFSystem::GetActiveWorkflows() in the template_script area, but yes, it's slow. I haven't tried iwqueryjobs. Will try that now.
...I am surprised that GetActiveWF is slow, I would have thought that would be fast, but it is possible the PM execs some processes....