Rotated coordinates on a unit sphere
Here is a brute force method to find the new coordinates of $p_3$.
Assuming that $\phi$ is the azimuthal angle measured counter clockwise from the positive $x$ axis, and $\theta$ is the polar angle measured from the positive $z$ axis, we can first convert the spherical coordinates into rectangular coordinates as follows:
$ p_1 = \begin{bmatrix} \sin \theta_1 \cos \phi_1 \\ \sin \theta_1 \sin \phi_1 \\ \cos \theta_1 \end{bmatrix} \hspace{40pt} p_2 = \begin{bmatrix} \sin \theta_2 \cos \phi_2 \\ \sin \theta_2 \sin \phi_2 \\ \cos \theta_2 \end{bmatrix} \hspace{40pt}p_3 = \begin{bmatrix} \sin \theta_3 \cos \phi_3 \\ \sin \theta_3 \sin \phi_3 \\ \cos \theta_3 \end{bmatrix} $
In addition, let vectors $q_1 $ and $q_2$ be defined as follows:
$q_1 = \begin{bmatrix} 0\\ 0 \\ 1\end{bmatrix} \hspace{40pt} q_2 = \begin{bmatrix} \sin \psi \\ 0\\ \cos \psi \end{bmatrix} $
where the angle $\psi = \cos^{-1} \left(p_1 \cdot p_2\right) $
Now consider the rotation that takes $p_1$ and sends it to $q_1$ and takes $p_2$ and sends it to $q_2$, this can expressed as
$q_1 = R p_1, \hspace{40pt} q_2 = R p_2 $
We need a third vector, so we'll take the cross product and write
$q_1 \times q_2 = R ( p_1 \times p_2 ) $
Hence, we now have the matrix equation,
$ \begin{bmatrix} q_1 , q_2 , q_1 \times q_2 \end{bmatrix} = R \begin{bmatrix} p_1 , p_2 , p_1 \times p_2 \end{bmatrix} $
which is of the form
$ Q = R P $
From which it follows that
$R = Q P^{-1} $
Finally, apply this rotation to $p_3$ to obtain $q_3$
$q_3 = R p_3 = \begin{bmatrix} \sin \theta \cos \phi \\ \sin \theta \sin \theta \\ \cos \theta \end{bmatrix} $
The new angles $\theta$ and $\phi$ can be found from the coordinates of $q_3$ as follows
$ \theta = \cos^{-1} q_{3z} $
$ \phi = \text{ATAN2} ( q_{3x} , q_{3y} ) $