Yeah, I got the a* sort of working in 3d. I've read about jump point search algorithm being major improvement to a* however stuff I've read didn't state if it's also suitable for 3d grids (guess so but not sure).
My game's architecture has a central 'message pump' or sth that is used to separate all the major subsystems so it should work with multithreading. When actor needs a path calculated it adds that 'demand' to the queue rather then call the 'path finder' directly.