I’ve had a lingering question that I haven’t been able to fully resolve. I’ve often noticed that many demonstrations don’t detail the proof of natural transformation, instead simply stating that the map is canonical.
For example, consider the proof in https://stacks.math.columbia.edu/tag/008F about the lemma stating that given a continuous map $f:X \to Y$, the inverse image of presheaf, $f_p$ is the left adjoint to direct image, $f_*$. In this proof it's asserted that there is a canonical map $i_\mathcal{G}:\mathcal{G}\to f_*f_p \mathcal{G}$ (the unit of the adjuction) but it does not prove that this involves a natural transformation. That is, given $m:\mathcal{G}_1\to\mathcal{G}_2$, any morphism of presheaves in $Y$, we have:
$$i_{\mathcal{G}_2} \circ m= (f_*f_p)m \circ i_{\mathcal{G}_1} $$
It appears that the categorical construction of $i_\mathcal{G}$ (it seems that this constructions is not "arbitrary" and "holds for all presheaves in $Y$", in other words, it is "canonical") provides an immediate proof. However, is there a formal mathematical theorem that encapsulates this?
Let me go through the example first (direct/inverse images of presheaves), and then address the more general question (can we get naturality for free?).
Instead of presheaves, which are just functors on a very special poset (the poset of opens of a space with a morphism $U \to V$ when $V \subseteq U$), let us consider arbitrary functors $F : I \to \mathcal{C}$ on a small (index) category $I$. And instead of a continuous map, we take a functor between the index categories. So, we have a functor $H : I \to J$ of small categories and want to construct a left adjoint of the functor $$H^* : [J,\mathcal{C}] \to [I,\mathcal{C}],\quad G \mapsto G \circ H.$$ Notice that this functor generalizes the direct image of presheaves functor in algebraic geometry. The left adjoint, when it exists, is called the left Kan extension $$\mathrm{Lan}_H : [I,\mathcal{C}] \to [J,\mathcal{C}]$$ and can be constructed, exactly as in the example of presheaves, with the formula $$\mathrm{Lan}_H(F)(j) = \mathrm{colim}_{H(i) \to j} F(i)$$ for $j \in J$, provided that this colimit exists in $\mathcal{C}$, of course. To verify that this defines, indeed, an adjoint functor, we need to construct (among other things) a natural transformation $$\eta : \mathrm{id} \to H^* \circ \mathrm{Lan}_H,$$ that is, a family of morphisms $$\eta_F : F \to H^*(\mathrm{Lan}_H(F)) = \mathrm{Lan}_H(F) \circ H, \quad F : I \to \mathcal{C}$$ which are natural in $F$. These, in turn, consist of families of morphisms $$\eta_F(i) : F(i) \to \mathrm{Lan}_H(F)(H(i))$$ which are natural in $i \in I$. Our concrete colimit definition comes equipped with "natural" (only in the informal sense at the moment) morphisms $$\iota(f) : F(i) \to \mathrm{Lan}_H(F)(j)$$ for all $f : H(i) \to j$. In particular (!) this can be applied to $f := \mathrm{id}_{H(i)}$. It gives us exactly the desired morphism. $$\eta_F(i) := \iota(\mathrm{id}_{H(i)})$$ Now, it is perfectly possible to verify that $\eta_F(i)$ is natural in $F$ and $i$. For this, one has to dig in deeper into the definition of $\mathrm{Lan}_H$ (what the colimit actually means, how $\mathrm{Lan}_H(F)$ is a functor, and how $\mathrm{Lan}_H$ itself is a functor). But there is a better way.
Maybe you have already noticed that above we applied something which is generally given to the identity morphism. This strongly suggests that the Yoneda Lemma proof is hiding behind the scenes. In fact, this comes from a general theorem about adjunctions, which I recall now:
In this situation, we speak of an adjunction $L \dashv R$. So we have two equivalent definitions. The proof uses the Yoneda Lemma. In fact, it shows that the natural morphisms $\hom(L(c),-) \to \hom(c,R(-))$ correspond to natural morphisms $c \to R(L(c))$, etc. (details are in every good book on category theory).
In our example adjunction above, it is better to use the first characterization, and then use the general theorem to deduce that unit and counit are in fact natural. So we should better define natural bijections
$$\alpha_{F,G} : \hom(\mathrm{Lan}_H(F),G) \cong \hom(F,G \circ H).$$
Naturality refers to both $F : I \to \mathcal{C}$ and $G : J \to \mathcal{C}$ here. Now, again, you can verify this by hand (it is a good exercise), but since you asked for more general methods, let us take a more abstact approach, namely using Coend calculus.
The set of natural transformations between two functors can be described with an end:
This is a natural bijection in $G$ and $G'$. You have to prove this once (and can then use it a gazillon times whenever you need to compute with ends and coends). It can be reduced to the naturality of the evident maps $\hom(G',G) \to \hom(G'(j),G(j))$, $\alpha \mapsto \alpha(j)$. In the naturality proof, nothing happens except for applying the definitions.
Since natural isomorphisms can be composed with functors*, this also shows that the isomorphism
$$\hom(\mathrm{Lan}_H(F),G) \cong \int^{j \in J} \hom(\mathrm{Lan}_H(F)(j),G(j))$$
is natural in $F$ and $G$.
*I mean this Lemma:
We will now continue to compute the coend $C(F,G)$ on the right side. When we then find another natural isomorphism $C(F,G) \to C'(F,G)$, the composition $\hom(\mathrm{Lan}_H(F),G) \to C'(F,G)$ is still natural in $F$ and $G$. So what we use here is the basic fact:
By our definition,
$$\int^{j \in J} \hom(\mathrm{Lan}_H(F)(j),G(j)) = \int^{j \in J} \hom(\mathrm{colim}_{H(i) \to j} F(i),G(j))$$
There is, again, a very natural isomorphism which dualizes colimits to limits. This gives us
$$\cong \int^{j \in J} \lim_{H(i) \to j} \hom(F(i),G(j))$$
Every limit can be interpreted as an end, and this gives us here
$$\cong \int^{j \in J} \int^{i \in I} \hom(H(i),j) \times \hom(F(i),G(j))$$
Next, we use a another very general result: the "Fubini Theorem"
which is natural in $X$. We arrive at
$$\cong \int^{i \in I} \int^{j \in J} \hom(H(i),j) \times \hom(F(i),G(j))$$
We need another general isomorphism, sometimes called the co-Yoneda Lemma:
Of course, one needs to verify that this isomorphism is natural both in $j'$ and $T$. We can substitute $T := \hom(F(i),G(-))$, $j' := H(i)$, and we get
$$\cong \int^{i \in I} \hom(F(i),G(H(i)) \cong \hom(F, G \circ H)$$
(naturally in $F$ and $G$) by our first end formula.
We have used
And this is a general principle in mathematics. Whenever you want to show that some gadget is an X, better prove some general facts about Xes first. It is often rather painful and not efficient to verify that a gadget is an X directly without using any general facts about Xes. In particular, it is useful to know constructions of new Xes out of given ones.
For example, you don't want to verify directly that the set of "Fibonacci-like" integer sequences satisfying $f(n+2)=f(n+1)+f(n)$ is a group under addition. Instead, you use that
And when you want to verify that a certain map is a homomorphism of groups, better use what is known in general about these. Instead of proving that $\mathbb{R}^2 \to \mathbb{R}^*$, $(x,y) \mapsto \exp(x+y)$ is a homomorphism directly, write it as the composition of the two - arguably more basic - homomorphisms $+ : \mathbb{R}^2 \to \mathbb{R}$ and $\exp : \mathbb{R} \to \mathbb{R}^{\times}.$
As you can see, this principle is used in all of mathematics, and there is nothing special about natural transformations. To get new ones, use general examples as well as general constructions how to get new ones. Also recall that natural transformations are nothing but the morphisms between functors. Everything you know about morphisms in general can be applied to them as well, thus abstracting away the "naturality condition".
Let us come back to the example of the left Kan extension. In practice, the definition $\eta_F(i) := \iota(\mathrm{id}_{H(i)})$ will already convince every experienced mathematician that this is natural, because (this is not a proof, for sure!) it does not depend on arbitrary choices. When you do the naturality computations for a while, after some time you will realize that "nothing happens". It is just a matter of chasing down the definitions. Well, in abstract situations at least.
For example, the change-of-variables formula
from measure theory can be interpreted as the statement that the integral provides a natural transformation $L^1 \to \Delta(\mathbb{R})$ on the category of measure spaces, and of course this statement is by no means formal and it does require a proof (which is still easy, though).
An even more advanced example is the Grothendieck Riemann Roch Theorem which can be interpreted that the Chern character is a natural transformation in a suitable sense. This result is highly non-trivial. So, naturality does not always come for free.
But in many abstract situations, a transformation "must" (unfortunately this is not a formal argument) be natural since there is only one way to get to the same result. In the example with the left Kan extension above, if we have morphisms of functors $F' \to F$ and $G \to G'$ and we ask ourselves if $$\require{AMScd} \begin{CD}\hom(\mathrm{Lan}_H(F),G) @>>> \hom(F,G \circ H) \\ @VVV @VVV \\ \hom(\mathrm{Lan}_H(F'),G') @>>> \hom(F',G' \circ H) \end{CD}$$ commutes: well, if not, we would be able to construct two different morphisms $F' \to G' \circ H$ from a given morphism $\mathrm{Lan}_H(F) \to G$, and this would be very, very strange in such a general situation.
For a more simple example, consider the natural map $e_V : V \to V^{**}$, $e_V(v)(w):=w(v)$ from a vector space to its double dual. Yes, on the one hand, we need to verify that $e$ is, indeed, natural, but do we really expect to get two different maps $V \to W^{**}$ from a linear map $V \to W$ by only substituting elements and composing maps in a certain way?
So, unfortunately, I do not have any meta-theorem to offer that gets naturality for free (and I worked on finding one in the past ...), but the combination of (a) using (and learning) existing examples and constructions of natural transformations, (b) learning from experience what is "obviously" natural, will help you out in the long run.