This solution requires you to specify two ellipses and am "intersection line". I tried to do this in 3D at first, but TikZ is not great at that. The solution uses pgfkeys for a convineant key-value interface.
With the stndard configuration it look like this:

The macro divides the picture in a "right part" and a "left part", so the intersetion line has to start and end outside of both ellipses:

Then it draws the "back parts" first and the "front parts" afterwards:

Code
\documentclass[tikz,border=2mm]{standalone}
\begin{document}
\tikzset{%
threedellipsesopt/.is family,%
threedellipsesopt,%
intersection start/.initial={-0.5,-2},%
intersection end/.initial={1,4},%
ellipse one center/.initial={-1,1},%
ellipse two center/.initial={1,2},%
ellipse one radius a/.initial={4},%
ellipse two radius a/.initial={5},%
ellipse one radius b/.initial={2},%
ellipse two radius b/.initial={1.8},%
ellipse one rotation/.initial=30,%
ellipse two rotation/.initial=-50,%
ellipse one fill/.initial=blue!50!cyan,%
ellipse two fill/.initial=orange!50!yellow,%
ellipse one draw/.initial=blue!50!black,%
ellipse two draw/.initial=orange!50!black,%
opacity/.initial=0.5,%
}
\newcommand{\ellkey}[1]% access a specific key by name
{\pgfkeysvalueof{/tikz/threedellipsesopt/#1}}
\newcommand{\threedellipses}[1]{
\tikzset{threedellipsesopt,#1} % Process Keys passed to command
\path (\ellkey{intersection start}) -- (\ellkey{intersection end});
\path[opacity=\ellkey{opacity},draw=\ellkey{ellipse one draw},rotate=\ellkey{ellipse one rotation}] (\ellkey{ellipse one center}) circle (\ellkey{ellipse one radius a} and \ellkey{ellipse one radius b});
\path[opacity=\ellkey{opacity},draw=\ellkey{ellipse two draw},rotate=\ellkey{ellipse two rotation}] (\ellkey{ellipse two center}) circle (\ellkey{ellipse two radius a} and \ellkey{ellipse two radius b});
\begin{scope}
\clip (current bounding box.north west) -| (\ellkey{intersection end}) -- (\ellkey{intersection start}) |- (current bounding box.south west) -- cycle;
\clip[rotate=\ellkey{ellipse one rotation}] (\ellkey{ellipse one center}) circle (\ellkey{ellipse one radius a}*1cm-0.2pt and \ellkey{ellipse one radius b}*1cm-0.2pt);
\fill[opacity=\ellkey{opacity},\ellkey{ellipse one fill}] (current bounding box.north east) rectangle (current bounding box.south west);
\end{scope}
\begin{scope}
\clip (current bounding box.north east) -| (\ellkey{intersection end}) -- (\ellkey{intersection start}) |- (current bounding box.south east) -- cycle;
\clip[rotate=\ellkey{ellipse two rotation}] (\ellkey{ellipse two center}) circle (\ellkey{ellipse two radius a}*1cm-0.2pt and \ellkey{ellipse two radius b}*1cm-0.2pt);
\fill[opacity=\ellkey{opacity},\ellkey{ellipse two fill}] (current bounding box.north east) rectangle (current bounding box.south west);
\end{scope}
\begin{scope}
\clip (current bounding box.north west) -| (\ellkey{intersection end}) -- (\ellkey{intersection start}) |- (current bounding box.south west) -- cycle;
\clip[rotate=\ellkey{ellipse two rotation}] (\ellkey{ellipse two center}) circle (\ellkey{ellipse two radius a}*1cm-0.2pt and \ellkey{ellipse two radius b}*1cm-0.2pt);
\fill[opacity=\ellkey{opacity},\ellkey{ellipse two fill}] (current bounding box.north east) rectangle (current bounding box.south west);
\end{scope}
\begin{scope}
\clip (current bounding box.north east) -| (\ellkey{intersection end}) -- (\ellkey{intersection start}) |- (current bounding box.south east) -- cycle;
\clip[rotate=\ellkey{ellipse one rotation}] (\ellkey{ellipse one center}) circle (\ellkey{ellipse one radius a}*1cm-0.2pt and \ellkey{ellipse one radius b}*1cm-0.2pt);
\fill[opacity=\ellkey{opacity},\ellkey{ellipse one fill}] (current bounding box.north east) rectangle (current bounding box.south west);
\end{scope}
}
\begin{tikzpicture}
\threedellipses{}
\end{tikzpicture}
\begin{tikzpicture}
\threedellipses{ellipse one draw=black,ellipse two draw=black,ellipse one fill=red,ellipse two fill=green,ellipse one center={0,0},ellipse two center={0,0},ellipse one rotation=45,ellipse two rotation=-45}
\end{tikzpicture}
\end{document}
Output

Edit 1: I changed the code, now using rotate around
instead of rotate
, which makes specifying the ellipses easier. If I understand your request correctly, you want something like this: changing the intersection line.
Code
\documentclass[tikz,border=2mm]{standalone}
\begin{document}
\tikzset{%
threedellipsesopt/.is family,%
threedellipsesopt,%
intersection start/.initial={-0.5,-2},%
intersection end/.initial={1,4},%
ellipse one center/.initial={-1,1},%
ellipse two center/.initial={1,2},%
ellipse one radius a/.initial={4},%
ellipse two radius a/.initial={5},%
ellipse one radius b/.initial={2},%
ellipse two radius b/.initial={1.8},%
ellipse one rotation/.initial=30,%
ellipse two rotation/.initial=-50,%
ellipse one fill/.initial=blue!50!cyan,%
ellipse two fill/.initial=orange!50!yellow,%
ellipse one draw/.initial=blue!50!black,%
ellipse two draw/.initial=orange!50!black,%
opacity/.initial=0.5,%
}
\newcommand{\ellkey}[1]% access a specific key by name
{\pgfkeysvalueof{/tikz/threedellipsesopt/#1}}
\newcommand{\threedellipses}[1]{
\tikzset{threedellipsesopt,#1} % Process Keys passed to command
\path (\ellkey{intersection start}) -- (\ellkey{intersection end});
\path[opacity=\ellkey{opacity},draw=\ellkey{ellipse one draw},rotate around={\ellkey{ellipse one rotation}:(\ellkey{ellipse one center})}] (\ellkey{ellipse one center}) circle (\ellkey{ellipse one radius a} and \ellkey{ellipse one radius b});
\path[opacity=\ellkey{opacity},draw=\ellkey{ellipse two draw},rotate around={\ellkey{ellipse two rotation}:(\ellkey{ellipse two center})}] (\ellkey{ellipse two center}) circle (\ellkey{ellipse two radius a} and \ellkey{ellipse two radius b});
\begin{scope}
\clip (current bounding box.north west) -| (\ellkey{intersection end}) -- (\ellkey{intersection start}) |- (current bounding box.south west) -- cycle;
\clip[rotate around={\ellkey{ellipse one rotation}:(\ellkey{ellipse one center})}] (\ellkey{ellipse one center}) circle (\ellkey{ellipse one radius a}*1cm-0.2pt and \ellkey{ellipse one radius b}*1cm-0.2pt);
\fill[opacity=\ellkey{opacity},\ellkey{ellipse one fill}] (current bounding box.north east) rectangle (current bounding box.south west);
\end{scope}
\begin{scope}
\clip (current bounding box.north east) -| (\ellkey{intersection end}) -- (\ellkey{intersection start}) |- (current bounding box.south east) -- cycle;
\clip[rotate around={\ellkey{ellipse two rotation}:(\ellkey{ellipse two center})}] (\ellkey{ellipse two center}) circle (\ellkey{ellipse two radius a}*1cm-0.2pt and \ellkey{ellipse two radius b}*1cm-0.2pt);
\fill[opacity=\ellkey{opacity},\ellkey{ellipse two fill}] (current bounding box.north east) rectangle (current bounding box.south west);
\end{scope}
\begin{scope}
\clip (current bounding box.north west) -| (\ellkey{intersection end}) -- (\ellkey{intersection start}) |- (current bounding box.south west) -- cycle;
\clip[rotate around={\ellkey{ellipse two rotation}:(\ellkey{ellipse two center})}] (\ellkey{ellipse two center}) circle (\ellkey{ellipse two radius a}*1cm-0.2pt and \ellkey{ellipse two radius b}*1cm-0.2pt);
\fill[opacity=\ellkey{opacity},\ellkey{ellipse two fill}] (current bounding box.north east) rectangle (current bounding box.south west);
\end{scope}
\begin{scope}
\clip (current bounding box.north east) -| (\ellkey{intersection end}) -- (\ellkey{intersection start}) |- (current bounding box.south east) -- cycle;
\clip[rotate around={\ellkey{ellipse one rotation}:(\ellkey{ellipse one center})}] (\ellkey{ellipse one center}) circle (\ellkey{ellipse one radius a}*1cm-0.2pt and \ellkey{ellipse one radius b}*1cm-0.2pt);
\fill[opacity=\ellkey{opacity},\ellkey{ellipse one fill}] (current bounding box.north east) rectangle (current bounding box.south west);
\end{scope}
}
\begin{tikzpicture}
\threedellipses
{ ellipse one center={-1,1},
ellipse two center={-1,2},
ellipse one radius a=2,
ellipse two radius a=1.95,
ellipse one radius b=1.5,
ellipse two radius b=2.25,
ellipse one rotation=-30,
ellipse two rotation=-50,
intersection start={-5,0},
intersection end={5,2},
}
\end{tikzpicture}
\end{document}
Output
