Piecewise function evaluation and Plot too slow

Please,
Could you explain why this code is too slow to evaluate de pwPAMV function, and impossible to Plot? How can I run this in a efficient way?

Since you define fu by recursion, it may be convenient to make fu remember the values that it has already found, to avoid recalculating them over and over:

fu[p_, t_] := 
  fu[p, t] = (1 - 
      Exp[-\[Lambda] (t - vti[[p]])]) + (PSA fu[p - 1, 
       vti[[p]]]) - (1 - 
       Exp[-\[Lambda] (t - vti[[p]])]) (PSA fu[p - 1, vti[[p]]]);

Thank you, I could solve the issue with your tip.