I don't have anything constructive to say, but I heard about successful implementation of spline-spline intersection algorithm in the CADO kernel by VKI (Von Karman Institute for Fluid Dynamics, Belgium). The guy used a sort of a marching method which sort of looked very classical and close to OpenCascade's implementation. I bet it was faster because it did not have to work on a range of edge cases and was specialized to typical surfaces you encounter in turbomachinery field. Anyways, if I were you, I would have probably started with a "standard" algorithm and see how far I can get there.
Good luck in the case you're going to start with that. Keep us posted!
P.S. for this VKI work, one reference would be this one:
http://www.dem.ist.utl.pt/engopt2010/Book_and_CD/Papers_CD_Final_Version/pdf/01/01297-01.pdf. It does not uncover much of the detail about the geometry as such, but you can probably search around or contact Tom Verstraete (the author) for more.