I believe the formula $$\nabla |u|^p = p\ \text{sgn}(u)|u|^{p-1}\nabla u $$ to be true for $u\in W^{1,p}(\Omega)$, where $\Omega$ is an open domain with nice boundary, but failed to find a good reference for this. I am sorry if this has been asked already.
The usual assumption that I usually see regarding the chain rule for Sobolev functions, i.e. $$ \nabla F(u) = F'(u)\nabla u, $$ is that $F\in C^1$ with bounded derivative (or perhaps a Lipschitz function). I want $F(t)=|t|^p$, which doesn't satisfy that assumption.
My idea of the proof goes as follow: I'd like to mimic the proof of the case $p=1$ so first we show a similar result for $$ F_\varepsilon(t) = (\varepsilon^2 + t^2)^{p/2} $$ by approximation with $F_\varepsilon(u_n)$, where $u_n\to u$ in $W^{1,p}$ and $u_n\in C_c^\infty(\Omega)$. Then we take $\varepsilon \to 0$ to approximate $|\cdot|^p$. While the usual argument using the Dominated Convergence Theorem wouldn't work, I think Vitali Convergence Theorem might do the trick.
Does anyone know a reference to this result? Also, if the formula doesn't hold in general spaces (i.e. $u\notin W^{1,p}$) then does anyone have a counterexample?
I have seen the proofs of the cases $p=1,2$. Finding a reference for a general $p\in [1,\infty)$ turns out to be a lot harder than I anticipated.

An alternative approach is to truncate your function $F(t) = |t|^p.$ For each $M>0$ define $T_M(x) = \min\{|t|,M\}$ and consider $t \mapsto T_M(t)^p.$ This is a Lipschitz function that is piecewise $C^1,$ so the chain rule for Sobolev functions applies ($\dagger$).
Therefore if $u \in W^{1,p}(\Omega),$ we have $T_M(u)^p \in W^{1,1}(\Omega)$ with, $$ \nabla (T_M(u)^p) = \mathbf 1_{\Omega_M}\,p\, \mathrm{sgn}(u) |u|^{p-1}\nabla u, $$ where $\Omega_M = \{ x \in \Omega : |u(x)| \leq M \}.$ Note that $T_M(u)^p \in W^{1,p}(\Omega)$ also, but we will only be able to show that the limit $|u|^p$ lies in $W^{1,1}(\Omega).$
There's a couple of ways to justify the limit as $M \rightarrow \infty,$ and the convergence result I like to use is the following:
This can be proven by reproducing the argument for the dominated convergence theorem (see for example here for details).
One you have this, it's easy to see how to proceed. By monotone convergence, as $M \rightarrow \infty$ we get $$ \int_{\Omega_M} \left|\nabla(T_M(u)^p) \right|\,\mathrm{d}x \rightarrow \int_{\Omega} p |u|^{p-1}|\nabla u| \,\mathrm{d}x \leq p \lVert u\rVert_{L^p(\Omega)}^{p-1} \lVert \nabla u \rVert_{L^p(\Omega)} \leq p\lVert u \rVert_{W^{1,p}(\Omega)}^p. $$ Therefore we get $\nabla(T_M(u)^p) \rightarrow p\,\mathrm{sgn}(u)|u|^{p-1}\nabla u$ in $L^1(\Omega).$ Since $T_M(u)^p \rightarrow |u|^p$ in $L^1(\Omega),$ we get convergence in $W^{1,1}(\Omega)$ and hence the result follows.
($\dagger$) It is generally true that if $F$ is Lipschitz and $u \in W^{1,p}(\Omega),$ then $F(u) \in W^{1,p}(\Omega),$ (added later) but the proof of this is not obvious. They key insight is to show that if $u \in W^{1,1}_{\mathrm{loc}}(\Omega)$ and $A \subset \mathbb R$ is a null set, then $\nabla u = 0$ a.e. on $u^{-1}(A).$ This means that $F'(u)\nabla u$ is defined regardless of the representative of $F'$ we choose. A proof of chain rule and the above fact can be found in the following:
In our case however, we can simply write $T_M(u)^p = g(T_M(u))$ where $g : \mathbb R \rightarrow \mathbb R$ is a $C^1$ function with bounded derivative such that $g(t) = t^p$ on $[0,M].$ Then the result follows by applying the $C^1$ and absolute value cases.