If R(u,v)
Clear[R,u,v]
R[u_,v_]:={2 Cos[u] Sin[v],2 Sin[u] Sin[v], 2 Cos[v]}
nv=Cross[D[R[u,v],u],D[R[u,v],v]] Simplify[nv]
Let's look at the point where u=v=Pi/4.
normalv=vectorPlot[{R[Pi/4,Pi/4]},{R[Pi/4,Pi/4]+nv/.{u->Pi/4,v->Pi/4}}];Oops! This normal vector will point inside the sphere. Let's use the opposite one.
normalv=vectorPlot[{R[Pi/4,Pi/4]},{R[Pi/4,Pi/4]-nv/.{u->Pi/4,v->Pi/4}}];
Show[sph,normalv];
tp=ContourPlot3D[({x,y,z}-R[Pi/4,Pi/4]).(-nv/.{u->Pi/4,v->Pi/4}),
{x,-2,2},{y,-2,2},{z,-2,2}];
Show[sph,normalv,tp];
Another option for the normal plane would be to use the formulation
n1(x-x0)+n2(y-y0)+n3(z-z0)=0.
Then you could use z=[-n1(x-x0)-n2(y-y0)+n3z0]/n3
and then use Plot 3D
n1=(nv/.{u->Pi/4,v->Pi/4})[[1]]
n2=(nv/.{u->Pi/4,v->Pi/4})[[2]]
n3=(nv/.{u->Pi/4,v->Pi/4})[[3]]
x0=R[Pi/4,Pi/4][[1]]
y0=R[Pi/4,Pi/4][[2]]
z0=R[Pi/4,Pi/4][[3]]
tp2=Plot3D[(-n1(x-x0)-n2(y-y0)+n3 z0)/n3,{x,-2,2},{y,-2,2}];
Show[sph,normalv,tp2];
Up to Tangent Planes