There are two properties which jointly guarantee that $G\to \operatorname{Aut}(G)$ is an isomorphism:
- to get injectivity, $G$ should have a trivial center, as $Z(G)$ is exactly the kernel of the canonical map $G\to \operatorname{Aut}(G)$;
- to get surjectivity, $G$ should not have (non-trivial) outer automorphisms (this is basically the definition of an outer automorphism, it is an automorphism not in the image of this canonical map $G\to \operatorname{Aut}(G)$).
One can define the group of outer automorphisms $\operatorname{Out}(G) = \operatorname{Aut}(G)/G$ (so this is the cokernel of the map $G\to \operatorname{Aut}(G)$). Be careful that the name is slightly misleading: the set of outer automorphisms consists of all automorphism which are not inner (so not in the image of $G\to \operatorname{Aut}(G)$), so it is a subset of $\operatorname{Aut}(G)$ (and does not form a group), but the group of outer automorphisms is a quotient of $\operatorname{Aut}(G)$.
Then what you want is that $Z(G)$ and $\operatorname{Out}(G)$ are both trivial. Usually $Z(G)$ is easy to understand and compute, and for instance it is a very easy exercise to show that $Z(S_n)$ is trivial for all $n$ except $n=2$. On the other hand, $\operatorname{Out}(G)$ tends to be trickier to compute, and requires a finer understanding of $G$. For instance, it is a standard fact that $\operatorname{Out}(S_n)$ is trivial for all $n$ except $n=6$, but it is far less easy to prove, and the fact that there is an exception for $n=6$ (one of my favourite factoids about all of mathematics) should convince you that something tricky is going on.
So my point is that the crux of finding complete groups (groups such that $G\to \operatorname{Aut}(G)$ is an isomorphism) is to find groups with trivial outer automorphism group, and that just requires a detailed study of the group in question.
There are certain classes of groups that are guaranteed to be complete. For example, if $G$ is the automorphism group of a non-abelian simple group, then it is complete. An even deeper result is that if you start with a finite group $G_0$ such that $Z(G_0)$ is trivial, and define inductively $G_{n+1}=\operatorname{Aut}(G_n)$, then for $n$ large enough $G_n$ is complete. But that is difficult.