As the error message suggests, changing the solution command to
sol := TWSolutions(Sys, [f(xi), g(xi), h(xi)])
will generate three "solutions" - none of which are actually functions of xi, and all of whihc are confirmed as' solutions' using pdetest()
Reason for this probably that (according to the TWSolutions help page)
The TWSolutions command computes Traveling Wave Solutions (TWS) for autonomous partial differential equations (PDE) that are rational and nonlinear in the unknowns and their derivatives. An autonomous system is one where the independent variables do not appear explicitly, only through the unknown functions and their derivatives.
Your system is not autonomous since the variable 'xi' explicily appears in all three equations in sys