Let $f$ be defined by  \[f(x) = \left\{
\begin{array}{cl}
3-x & \text{ if } x \leq 3, \\
-x^3+2x^2+3x & \text{ if } x>3.
\end{array}
\right.\]Calculate $f^{-1}(0)+f^{-1}(6)$.
The number $f^{-1}(0)$ is the value of $x$ such that $f(x) = 0$.  Since the function $f$ is defined piecewise, to find this value, we must consider both cases $x \le 3$ and $x > 3$.

If $x \le 3$ and $f(x) = 0$, then $3 - x = 0$, which leads to $x = 3$.  Note that this value satisfies the condition $x \le 3$.  If $x > 3$ and $f(x) = 0$, then $-x^3 + 2x^2 + 3x = 0$.  This equation factors as $-x(x - 3)(x + 1) = 0$, so $x = 0$, $x = 3$, or $x = -1$.  But none of these values satisfies $x > 3$, so the solution is $x = 3$, which means $f^{-1}(0) = 3$.

Now we compute $f^{-1}(6)$, which is the value of $x$ such that $f(x) = 6$.

If $x \le 3$ and $f(x) = 6$, then $3 - x = 6$, which leads to $x = -3$.  Note that this value satisfies the condition $x \le 3$.  If $x > 3$ and $f(x) = 6$, then $-x^3 + 2x^2 + 3x = 6$, or $x^3 - 2x^2 - 3x + 6 = 0$.  This equation factors as $(x - 2)(x^2 - 3) = 0$, so $x = 2$, $x = \sqrt{3}$, or $x = -\sqrt{3}$.  But none of these values satisfies $x > 3$, so the solution is $x = -3$, which means $f^{-1}(6) = -3$.

Therefore, $f^{-1}(0)+f^{-1}(6) = 3 + (-3) = \boxed{0}$.

[asy]
unitsize(3mm);
defaultpen(linewidth(.7pt)+fontsize(8pt));
import graph;

draw((-20,0)--(20,0),Arrows(4));
draw((0,-20)--(0,20),Arrows(4));

real f(real x) {return 3-x;}
real g(real x) {return -x^3+2x^2+3x;}

real x;

draw(graph(f,-15,3),BeginArrow(4));
draw(graph(g,3,4),EndArrow(4));

real eps = 0.2;

draw((-eps,3)--(eps,3));
draw((-eps,0)--(eps,0));
draw((-eps,-3)--(eps,-3));

dot("$(-3,6)$",(-3,6),SW);
dot("$(3,0)$",(3,0),NE);

label("$f(x)$",(3,20.5));
label("$x$",(20.5,-1));
[/asy]