First of all, the graphs considered are undirected & parallel edges and loops are allowed.
My attempt : By handshaking lemma, $$\text{Sum of degrees of all vertices} = 2 (\text{Number of edges})$$
Thus we get $\frac {2+2+2+2+2+2}{2}=\text{Number of edges}=6.$
Therefore we have to find all nonisomorphic graphs with six vertices and six edges.
Then I formed six cases based on number of cycles in such nonisomorphic graphs. Each case was then divided into subcases where we count graphs with number of loops and parallel edges in it.
My question is whether there exist other counting techniques in such scenario?

Each one of those isomorphism classes can be represented as an integer partition of 6, that is, a way of writing positive numbers which add up to 6, where the order doesn't matter. For example your 3(i), 3(ii) and 3(iii) correspond to $2 + 2 + 2, 4 + 1 + 1$ and $3 + 2 + 1$ respectively. There is a well-understood theory of integer partitions which would allow you to, for example, compute the number of partitions of some large integer $n$ without having to explicitly write them out, and therefore to compute the number of nonisomorphic graphs with $n$ vertices all having degree 2. (In the $n = 6$ case that theory is probably overkill.)