Is this assignment of the topos of sheaves functorial? Let $\mathcal{C}$ be a site and for any object $X$ of $\mathcal{C}$ denote by $\text{Sh}(X)$ the category of sheaves on the site $\mathcal{C}/X$. My question is, what can we say about this assignment? $\text{Sh}$ is probably not a functor. Is it a pseudofunctor?

It is much easier to see what is going on if you forget about sites – after all, when $\mathcal{C}$ has a subcanonical topology, the category sheaves on $\mathcal{C}_{/ X}$ is equivalent to the category of sheaves on $\mathcal{C}$ sliced over $h_X$. Thus your question is really about the assignment $A \mapsto \mathcal{E}_{/ A}$, where $\mathcal{E}$ is a Grothendieck topos and $A$ varies in $\mathcal{E}$.
Clearly, $A \mapsto \mathcal{E}_{/ A}$ can be made into a strict covariant functor: given $A \to B$, postcomposition defines a functor $\mathcal{E}_{/ A} \to \mathcal{E}_{/ B}$. On the other hand, it can also be made into a contravariant pseudofunctor: pullback along $A \to B$ defines a functor $\mathcal{E}_{/ B} \to \mathcal{E}_{/ A}$.
