Das ist wieder einmal ein Expansionsproblem, es lässt sich beispielsweise lösen, indem man nicht erst in `\addplot` die Fallunterscheidung vornimmt, sondern bereits davor:
\documentclass{article}
\usepackage{pgfplots}
\usepackage{xparse}
\NewDocumentCommand \Graph {m o m}
{
\begin{tikzpicture}
\begin{axis}[axis lines=middle,xtick=\empty,ytick=\empty,#1]
\IfNoValueTF{#2}{%
\addplot[semithick,samples=200] {#3};
}{%
\addplot[semithick,samples=200,domain=#2] {#3};
}%
\end{axis}
\end{tikzpicture}
}
\begin{document}
\Graph{xmin=0,xmax=6.5,ymin=0,ymax=6}[0:6]{-53/360*(x-3)^4-1/20*(x-3)^3+437/360*(x-3)^2+9/20*(x-3)+1}
\end{document}
Hat man mehrere optionale Argumente ist es ggf. weniger aufwendig, wenn man die `\addplot`-Anweisung quasi stückweise expandiert:
\documentclass{article}
\usepackage{pgfplots}
\usepackage{xparse}
\NewDocumentCommand \Graph {m o m}
{
\begin{tikzpicture}
\begin{axis}[axis lines=middle,xtick=\empty,ytick=\empty,#1]
\edef\localplotcommandoptions{%
[semithick,samples=200\IfNoValueF{#2}{,domain=\unexpanded{#2}}]%
}\expandafter\plot\localplotcommandoptions{#3};
\end{axis}
\end{tikzpicture}
}
\begin{document}
\Graph{xmin=0,xmax=6.5,ymin=0,ymax=6}[0:6]{-53/360*(x-3)^4-1/20*(x-3)^3+437/360*(x-3)^2+9/20*(x-3)+1}
\end{document}
Die einfachste Lösung wäre, wenn das optionale Argument einfach als zusätzliche Optionen von `\plot` `\addplot` definiert würde. Dann könnte man einfach wie folgt arbeiten:
\documentclass{article}
\usepackage{pgfplots}
\usepackage{xparse}
\NewDocumentCommand \Graph {m O{} m}
{
\begin{tikzpicture}
\begin{axis}[axis lines=middle,xtick=\empty,ytick=\empty,#1]
\addplot[semithick,samples=200,#2] {#3};
\end{axis}
\end{tikzpicture}
}
\begin{document}
\Graph{xmin=0,xmax=6.5,ymin=0,ymax=6}[domain=0:6]{-53/360*(x-3)^4-1/20*(x-3)^3+437/360*(x-3)^2+9/20*(x-3)+1}
\Graph{xmin=0,xmax=6.5,ymin=0,ymax=6}{-53/360*(x-3)^4-1/20*(x-3)^3+437/360*(x-3)^2+9/20*(x-3)+1}
\end{document}