I just permuted the coordinates to get rid of the rotate=90. Thus the azimuth and elevation recover their original meaning. Then an azimuth of 30 and an elevation of 25 seems to come close to your screen shot.
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{xxcolor}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
% Style to set TikZ camera angle, like PGFPlots `view`
\tikzset{viewport/.style 2 args={
x={({cos(-#1)*1cm},{sin(-#1)*sin(#2)*1cm})},
y={({-sin(-#1)*1cm},{cos(-#1)*sin(#2)*1cm})},
z={(0,{cos(#2)*1cm})}
}}
% Styles to plot only points that are before or behind the sphere.
\pgfplotsset{only foreground/.style={
restrict expr to domain={rawx*\CameraX + rawy*\CameraY + rawz*\CameraZ}{-0.05:100},
}}
\pgfplotsset{only background/.style={
restrict expr to domain={rawx*\CameraX + rawy*\CameraY + rawz*\CameraZ}{-100:0.05}
}}
% Automatically plot transparent lines in background and solid lines in foreground
\def\addFGBGplot[#1]#2;{
\addplot3[#1,only background, opacity=0.25] #2;
\addplot3[#1,only foreground] #2;
}
\newcommand{\ViewAzimuth}{30}
\newcommand{\ViewElevation}{25}
\begin{document}
\begin{tikzpicture}[>=stealth]
% Compute camera unit vector for calculating depth
\pgfmathsetmacro{\CameraX}{sin(\ViewAzimuth)*cos(\ViewElevation)}
\pgfmathsetmacro{\CameraY}{-cos(\ViewAzimuth)*cos(\ViewElevation)}
\pgfmathsetmacro{\CameraZ}{sin(\ViewElevation)}
\pgfmathsetmacro{\Radius}{5}
\pgfmathsetmacro{\DeltaPhi}{10}
\begin{axis}[clip=false,hide axis,
view={\ViewAzimuth}{\ViewElevation}, % Set view angle
every axis plot/.style={very thin},
disabledatascaling, % Align PGFPlots coordinates with TikZ
anchor=origin, % Align PGFPlots coordinates with TikZ
viewport={\ViewAzimuth}{\ViewElevation}, % Align PGFPlots coordinates with TikZ
]
\draw[thick,->] (\Radius,0,0) -- (\Radius+2,0,0) node[right] {$\theta=0^\circ$};
\draw[thick,->] (0,\Radius,0) -- (0,\Radius+2,0) node[above right] {$\phi=0^\circ$};
\draw[thick,->] (0,0,\Radius) -- (0,0,\Radius+2) node[above] {$\phi=90^\circ$};
\addplot3[only marks,mark=cube*,cube/size x=10pt,cube/size y=10pt,cube/size z=10pt] coordinates {(0,0,0)};
\draw[thick,->] (0,0,0) -- (2,0,0) node[right] {$z$};
\draw[thick,->] (0,0,0) -- (0,2,0) node[above right] {$x$};
\draw[thick,->] (0,0,0) -- (0,0,2) node[above] {$y$};
\addplot3[smooth,domain=0:2*pi,thick]
({\Radius*sin(deg(x))},{\Radius*cos(deg(x))},{0});
\addplot3[smooth,domain=0:2*pi,thick]
({\Radius*cos(deg(x))},{0},{\Radius*sin(deg(x))});
\addFGBGplot[domain=0:2*pi, samples=51, samples y=11,smooth,
domain y=7.5*\DeltaPhi:9*\DeltaPhi,surf,shader=flat,color=gray,opacity=0.6]
({\Radius*sin(y)},
{\Radius*sin(deg(x))*cos(y)},{\Radius*cos(deg(x))*cos(y)});
\end{axis}
\begin{axis}[clip=false,hide axis,xshift=12cm,
view={\ViewAzimuth}{\ViewElevation}, % Set view angle
every axis plot/.style={very thin},
disabledatascaling, % Align PGFPlots coordinates with TikZ
anchor=origin, % Align PGFPlots coordinates with TikZ
viewport={\ViewAzimuth}{\ViewElevation}, % Align PGFPlots coordinates with TikZ
]
\draw[thick,->] (\Radius,0,0) -- (\Radius+2,0,0) node[right] {$\theta=0^\circ$};
\draw[thick,->] (0,\Radius,0) -- (0,\Radius+2,0) node[above right] {$\phi=0^\circ$};
\draw[thick,->] (0,0,\Radius) -- (0,0,\Radius+2) node[above] {$\phi=90^\circ$};
\addplot3[only marks,mark=cube*,cube/size x=10pt,cube/size y=10pt,cube/size z=10pt] coordinates {(0,0,0)};
\draw[thick,->] (0,0,0) -- (2,0,0) node[right] {$z$};
\draw[thick,->] (0,0,0) -- (0,2,0) node[above right] {$x$};
\draw[thick,->] (0,0,0) -- (0,0,2) node[above] {$y$};
\addplot3[smooth,domain=0:2*pi,thick]
({\Radius*sin(deg(x))},{\Radius*cos(deg(x))},{0});
\addplot3[smooth,domain=0:2*pi,thick]
({\Radius*cos(deg(x))},{0},{\Radius*sin(deg(x))});
\addFGBGplot[domain=0:2*pi, samples=51, samples y=11,smooth,
domain y=7.5*\DeltaPhi:6*\DeltaPhi,surf,shader=flat,color=gray,opacity=0.6]
({\Radius*sin(y)},
{\Radius*sin(deg(x))*cos(y)},{\Radius*cos(deg(x))*cos(y)});
\end{axis}
\begin{axis}[clip=false,hide axis,xshift=24cm,
view={\ViewAzimuth}{\ViewElevation}, % Set view angle
every axis plot/.style={very thin},
disabledatascaling, % Align PGFPlots coordinates with TikZ
anchor=origin, % Align PGFPlots coordinates with TikZ
viewport={\ViewAzimuth}{\ViewElevation}, % Align PGFPlots coordinates with TikZ
]
\draw[thick,->] (\Radius,0,0) -- (\Radius+2,0,0) node[right] {$\theta=0^\circ$};
\draw[thick,->] (0,\Radius,0) -- (0,\Radius+2,0) node[above right] {$\phi=0^\circ$};
\draw[thick,->] (0,0,\Radius) -- (0,0,\Radius+2) node[above] {$\phi=90^\circ$};
\addplot3[only marks,mark=cube*,cube/size x=10pt,cube/size y=10pt,cube/size z=10pt] coordinates {(0,0,0)};
\draw[thick,->] (0,0,0) -- (2,0,0) node[right] {$z$};
\draw[thick,->] (0,0,0) -- (0,2,0) node[above right] {$x$};
\draw[thick,->] (0,0,0) -- (0,0,2) node[above] {$y$};
\addplot3[smooth,domain=0:2*pi,thick]
({\Radius*sin(deg(x))},{\Radius*cos(deg(x))},{0});
\addplot3[smooth,domain=0:2*pi,thick]
({\Radius*cos(deg(x))},{0},{\Radius*sin(deg(x))});
\addFGBGplot[domain=0:2*pi, samples=51, samples y=11,smooth,
domain y=6*\DeltaPhi:5*\DeltaPhi,surf,shader=flat,color=gray,opacity=0.6]
({\Radius*sin(y)},
{\Radius*sin(deg(x))*cos(y)},{\Radius*cos(deg(x))*cos(y)});
\end{axis}
\end{tikzpicture}
\end{document}

Or an azimuth of 40 and an elevation of 15.
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{xxcolor}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
% Style to set TikZ camera angle, like PGFPlots `view`
\tikzset{viewport/.style 2 args={
x={({cos(-#1)*1cm},{sin(-#1)*sin(#2)*1cm})},
y={({-sin(-#1)*1cm},{cos(-#1)*sin(#2)*1cm})},
z={(0,{cos(#2)*1cm})}
}}
% Styles to plot only points that are before or behind the sphere.
\pgfplotsset{only foreground/.style={
restrict expr to domain={rawx*\CameraX + rawy*\CameraY + rawz*\CameraZ}{-0.05:100},
}}
\pgfplotsset{only background/.style={
restrict expr to domain={rawx*\CameraX + rawy*\CameraY + rawz*\CameraZ}{-100:0.05}
}}
% Automatically plot transparent lines in background and solid lines in foreground
\def\addFGBGplot[#1]#2;{
\addplot3[#1,only background, opacity=0.25] #2;
\addplot3[#1,only foreground] #2;
}
\newcommand{\ViewAzimuth}{40}
\newcommand{\ViewElevation}{15}
\begin{document}
\begin{tikzpicture}[>=stealth]
% Compute camera unit vector for calculating depth
\pgfmathsetmacro{\CameraX}{sin(\ViewAzimuth)*cos(\ViewElevation)}
\pgfmathsetmacro{\CameraY}{-cos(\ViewAzimuth)*cos(\ViewElevation)}
\pgfmathsetmacro{\CameraZ}{sin(\ViewElevation)}
\pgfmathsetmacro{\Radius}{5}
\pgfmathsetmacro{\DeltaPhi}{10}
\begin{axis}[clip=false,hide axis,
view={\ViewAzimuth}{\ViewElevation}, % Set view angle
every axis plot/.style={very thin},
disabledatascaling, % Align PGFPlots coordinates with TikZ
anchor=origin, % Align PGFPlots coordinates with TikZ
viewport={\ViewAzimuth}{\ViewElevation}, % Align PGFPlots coordinates with TikZ
]
\draw[thick,->] (\Radius,0,0) -- (\Radius+2,0,0) node[right] {$\theta=0^\circ$};
\draw[thick,->] (0,\Radius,0) -- (0,\Radius+2,0) node[above right] {$\phi=0^\circ$};
\draw[thick,->] (0,0,\Radius) -- (0,0,\Radius+2) node[above] {$\phi=90^\circ$};
\addplot3[only marks,mark=cube*,cube/size x=10pt,cube/size y=10pt,cube/size z=10pt] coordinates {(0,0,0)};
\draw[thick,->] (0,0,0) -- (2,0,0) node[right] {$z$};
\draw[thick,->] (0,0,0) -- (0,2,0) node[above right] {$x$};
\draw[thick,->] (0,0,0) -- (0,0,2) node[above] {$y$};
\addplot3[smooth,domain=0:2*pi,thick]
({\Radius*sin(deg(x))},{\Radius*cos(deg(x))},{0});
\addplot3[smooth,domain=0:2*pi,thick]
({\Radius*cos(deg(x))},{0},{\Radius*sin(deg(x))});
\addFGBGplot[domain=0:2*pi, samples=51, samples y=11,smooth,
domain y=7.5*\DeltaPhi:9*\DeltaPhi,surf,shader=flat,color=gray,opacity=0.6]
({\Radius*sin(y)},
{\Radius*sin(deg(x))*cos(y)},{\Radius*cos(deg(x))*cos(y)});
\end{axis}
\begin{axis}[clip=false,hide axis,xshift=12cm,
view={\ViewAzimuth}{\ViewElevation}, % Set view angle
every axis plot/.style={very thin},
disabledatascaling, % Align PGFPlots coordinates with TikZ
anchor=origin, % Align PGFPlots coordinates with TikZ
viewport={\ViewAzimuth}{\ViewElevation}, % Align PGFPlots coordinates with TikZ
]
\draw[thick,->] (\Radius,0,0) -- (\Radius+2,0,0) node[right] {$\theta=0^\circ$};
\draw[thick,->] (0,\Radius,0) -- (0,\Radius+2,0) node[above right] {$\phi=0^\circ$};
\draw[thick,->] (0,0,\Radius) -- (0,0,\Radius+2) node[above] {$\phi=90^\circ$};
\addplot3[only marks,mark=cube*,cube/size x=10pt,cube/size y=10pt,cube/size z=10pt] coordinates {(0,0,0)};
\draw[thick,->] (0,0,0) -- (2,0,0) node[right] {$z$};
\draw[thick,->] (0,0,0) -- (0,2,0) node[above right] {$x$};
\draw[thick,->] (0,0,0) -- (0,0,2) node[above] {$y$};
\addplot3[smooth,domain=0:2*pi,thick]
({\Radius*sin(deg(x))},{\Radius*cos(deg(x))},{0});
\addplot3[smooth,domain=0:2*pi,thick]
({\Radius*cos(deg(x))},{0},{\Radius*sin(deg(x))});
\addFGBGplot[domain=0:2*pi, samples=51, samples y=11,smooth,
domain y=7.5*\DeltaPhi:6*\DeltaPhi,surf,shader=flat,color=gray,opacity=0.6]
({\Radius*sin(y)},
{\Radius*sin(deg(x))*cos(y)},{\Radius*cos(deg(x))*cos(y)});
\end{axis}
\begin{axis}[clip=false,hide axis,xshift=24cm,
view={\ViewAzimuth}{\ViewElevation}, % Set view angle
every axis plot/.style={very thin},
disabledatascaling, % Align PGFPlots coordinates with TikZ
anchor=origin, % Align PGFPlots coordinates with TikZ
viewport={\ViewAzimuth}{\ViewElevation}, % Align PGFPlots coordinates with TikZ
]
\draw[thick,->] (\Radius,0,0) -- (\Radius+2,0,0) node[right] {$\theta=0^\circ$};
\draw[thick,->] (0,\Radius,0) -- (0,\Radius+2,0) node[above right] {$\phi=0^\circ$};
\draw[thick,->] (0,0,\Radius) -- (0,0,\Radius+2) node[above] {$\phi=90^\circ$};
\addplot3[only marks,mark=cube*,cube/size x=10pt,cube/size y=10pt,cube/size z=10pt] coordinates {(0,0,0)};
\draw[thick,->] (0,0,0) -- (2,0,0) node[right] {$z$};
\draw[thick,->] (0,0,0) -- (0,2,0) node[above right] {$x$};
\draw[thick,->] (0,0,0) -- (0,0,2) node[above] {$y$};
\addplot3[smooth,domain=0:2*pi,thick]
({\Radius*sin(deg(x))},{\Radius*cos(deg(x))},{0});
\addplot3[smooth,domain=0:2*pi,thick]
({\Radius*cos(deg(x))},{0},{\Radius*sin(deg(x))});
\addFGBGplot[domain=0:2*pi, samples=51, samples y=11,smooth,
domain y=6*\DeltaPhi:4.5*\DeltaPhi,surf,shader=flat,color=gray,opacity=0.6]
({\Radius*sin(y)},
{\Radius*sin(deg(x))*cos(y)},{\Radius*cos(deg(x))*cos(y)});
\end{axis}
\end{tikzpicture}
\end{document}

Only you can decide what looks really good. This answer provides you with means of adjusting the view in the usual way.
ADDENDUM: It seems that wrapping a macro around \addplot can have interesting side effects. Somethings transformations are applied twice. One may then undo the excess transformations unless there is a more systematic way.
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{xxcolor}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
% Style to set TikZ camera angle, like PGFPlots `view`
\tikzset{viewport/.style 2 args={
x={({cos(-#1)*1cm},{sin(-#1)*sin(#2)*1cm})},
y={({-sin(-#1)*1cm},{cos(-#1)*sin(#2)*1cm})},
z={(0,{cos(#2)*1cm})}
}}
% Styles to plot only points that are before or behind the sphere.
\pgfplotsset{only foreground/.style={
restrict expr to domain={rawx*\CameraX + rawy*\CameraY + rawz*\CameraZ}{-0.05:100},
}}
\pgfplotsset{only background/.style={
restrict expr to domain={rawx*\CameraX + rawy*\CameraY + rawz*\CameraZ}{-100:0.05}
}}
% Automatically plot transparent lines in background and solid lines in foreground
\def\addFGBGplot[#1]#2;{
\addplot3[#1,only background, opacity=0.25] #2;
\addplot3[#1,only foreground] #2;
}
\newcommand{\ViewAzimuth}{40}
\newcommand{\ViewElevation}{15}
\newcommand\RingPlot[2][]{
\begin{axis}[#1,clip=false,hide axis,set layers,
view={\ViewAzimuth}{\ViewElevation}, % Set view angle
every axis plot/.style={very thin},
disabledatascaling, % Align PGFPlots coordinates with TikZ
anchor=origin, % Align PGFPlots coordinates with TikZ
viewport={\ViewAzimuth}{\ViewElevation}, % Align PGFPlots coordinates with TikZ
]
\draw[thick,->] (\Radius,0,0) -- (\Radius+2,0,0) node[right] {$\theta=0^\circ$};
\draw[thick,->] (0,\Radius,0) -- (0,\Radius+2,0) node[above right] {$\phi=0^\circ$};
\draw[thick,->] (0,0,\Radius) -- (0,0,\Radius+2) node[above] {$\phi=90^\circ$};
\draw[thick,->] (0,0.5,0) -- (0,2,0) node[above right] {$x$};
\addplot3[mark layer=axis background,on layer=axis background,only marks,mark=cube*,cube/size x=10pt,cube/size y=10pt,cube/size z=10pt] coordinates {(0,0,0)};
\addplot3[white,thick,domain=0:360] (0.5,{0.3*cos(x)},{0.3*sin(x)});
\draw[thick,->] (0.5,0,0) -- (2,0,0) node[right] {$z$};
\draw[thick,->] (0,0,0.5) -- (0,0,2) node[above] {$y$};
\addplot3[smooth,domain=0:2*pi,thick]
({\Radius*sin(deg(x))},{\Radius*cos(deg(x))},{0});
\addplot3[smooth,domain=0:2*pi,thick]
({\Radius*cos(deg(x))},{0},{\Radius*sin(deg(x))});
\addFGBGplot[domain=0:2*pi, samples=51, samples
y=11,smooth,shader=interp,point meta=z-0.3*y,colormap/blackwhite,
#2,surf,opacity=0.6]
({\Radius*sin(y)},
{\Radius*sin(deg(x))*cos(y)},{\Radius*cos(deg(x))*cos(y)});
\end{axis}}
\begin{document}
\begin{tikzpicture}[>=stealth]
% Compute camera unit vector for calculating depth
\pgfmathsetmacro{\CameraX}{sin(\ViewAzimuth)*cos(\ViewElevation)}
\pgfmathsetmacro{\CameraY}{-cos(\ViewAzimuth)*cos(\ViewElevation)}
\pgfmathsetmacro{\CameraZ}{sin(\ViewElevation)}
\pgfmathsetmacro{\Radius}{5}
\pgfmathsetmacro{\DeltaPhi}{10}
\RingPlot{domain y=7.5*\DeltaPhi:9*\DeltaPhi}
\begin{scope}[xshift=12cm]
\RingPlot{domain y=6*\DeltaPhi:7.5*\DeltaPhi,xshift=-6cm}
\end{scope}
\begin{scope}[xshift=24cm]
\RingPlot{domain y=4.5*\DeltaPhi:6*\DeltaPhi}
\end{scope}
\end{tikzpicture}
\end{document}

One would think that one does not need xshift=-6cm in the second plot. But if one omits it, the result is wrong.