Not sure if this is quite what you want, but it can reverse a path.
Firstly a method using pic to shift the path...
\documentclass[tikz,border=10]{standalone}
\usetikzlibrary{decorations.pathreplacing}
\makeatletter
\tikzset{%
reverse path/.style={
decoration={show path construction,
reverse path,
moveto code={\pgfpathmoveto{\pgf@decorate@inputsegment@first}},
lineto code={\pgfpathlineto{\pgf@decorate@inputsegment@last}},
curveto code={\pgfpathcurveto{\pgf@decorate@inputsegment@supporta}%
{\pgf@decorate@inputsegment@supportb}{\pgf@decorate@inputsegment@last}},
closepath code={\pgfpathclose}
},
decorate
}
}
\begin{document}
\begin{tikzpicture}[very thick,
bezier path/.pic={
\draw [#1] (-1,1)
.. controls ++( 45:1/2) and ++(225:1/2) .. ( 1, 1)
.. controls ++(315:1/2) and ++(135:1/2) .. ( 1,-1)
.. controls ++(225:1/2) and ++( 45:1/2) .. (-1,-1);
}]
\draw ( 90:2) pic {bezier path={red}};
\draw (210:2) pic {bezier path={green, ->}};
\draw (330:2) pic {bezier path={blue, ->, reverse path}};
\end{tikzpicture}
\end{document}

...and the following using the insert path key will produce the same results:
\documentclass[tikz,border=10]{standalone}
\usetikzlibrary{decorations.pathreplacing}
\makeatletter
\tikzset{%
reverse path/.style={
decoration={show path construction,
reverse path,
moveto code={\pgfpathmoveto{\pgf@decorate@inputsegment@first}},
lineto code={\pgfpathlineto{\pgf@decorate@inputsegment@last}},
curveto code={\pgfpathcurveto{\pgf@decorate@inputsegment@supporta}%
{\pgf@decorate@inputsegment@supportb}{\pgf@decorate@inputsegment@last}},
closepath code={\pgfpathclose}
},
decorate
}
}
\begin{document}
\begin{tikzpicture}[very thick,
bezier path/.style={insert path={
[shift={#1}] (-1,1)
.. controls ++( 45:1/2) and ++(225:1/2) .. ( 1, 1)
.. controls ++(315:1/2) and ++(135:1/2) .. ( 1,-1)
.. controls ++(225:1/2) and ++( 45:1/2) .. (-1,-1)
}}]
\draw [bezier path={( 90:2)}, red];
\draw [bezier path={(210:2)}, green, ->];
\draw [bezier path={(330:2)}, blue, ->, reverse path];
\end{tikzpicture}
\end{document}
circlewith->it gets the arrow, but not arectangle. Why ? A small suggestion: if we splitreverse pathinreverseandreverse path/.style={reverse,decorate}, we will be able to reverse only part of the path usingdecorate{ ... }. And this could be really useful for filling (finer control thaneven odd rule). Typo:\end{document}is missing in the first code. – Kpym Jan 18 '15 at 20:03