Interpolations returns a callable struct, @register only works for functions. I usually solve this by defining an intermediate function:
P_interp = interpolate(x_temp, y_temp, z_temp)
P_func(x, y, z) = P_interp(x, y, z)
@register_symbolic P_func(x, y, s)
And then use P_func in any symbolic expressions.