What you say is correct (although it doesn't follow just from the fact that similarity is an equivalence relation, but from the fact it is an equivalence relation preserved by polynomials, that is if $A\cong B$, then for any polynomial $p$, $p(A)\cong p(B)$).
If $B=PCP^{-1}$ and for some polynomial $p$, $p(B)=DAD^{-1}$, then $p(B)=p(PCP^{-1})=Pp(C)P^{-1}$, so $p(C)=(P^{-1}D)A(D^{-1}P)=(P^{-1}D)A(P^{-1}D)^{-1}$
I don't know the answer for real matrices of general dimension (see below for the $n = 2$ case), but for complex matrices the description of the congruence equivalence classes was worked out by Aitken and Turnbull, and there is a nice statement of the classification theorem in $\S\,$3 of the conference paper user1551 linked in the comments: In short, one defines several families of building block matrices, and the theorem asserts that every matrix is congruent to a direct sum of such blocks.
Here's how one can proceed: For a general $n \times n$ matrix $A$, the properties of symmetry and skewness are invariant under congruence, so if we decomposes any $n \times n$ matrix into its symmetric and skew parts,
$$A = \underbrace{\tfrac{1}{2}(A + A^{\top})}_{A^{\textrm{sym}}} + \underbrace{\tfrac{1}{2}(A - A^{\top})}_{A^{\textrm{skew}}} ,$$
the invariants of $A^{\textrm{sym}}$ and $A^{\textrm{skew}}$ under congruence are invariants of $A$ under congruence. So the problem of classifying matrices up to congruence is the same as the problem of classifying pairs of matrices, one symmetric and one skew-symmetric, up to congruence by a common matrix, that is, classifying pairs $(A^{\textrm{sym}}, A^{\textrm{skew}})$ up to equivalence under $$(A^{\textrm{sym}}, A^{\textrm{skew}}) \sim (P^{\top} A^{\textrm{sym}} P, P^{\top} A^{\textrm{skew}} P) .$$
Example For complex matrices, the only congruence invariants of $A^{\textrm{sym}}$ and $A^{\textrm{skew}}$ (separately) are their ranks, and these (pairs of) ranks are discrete invariants of a congruence class. In the special case $n = 2$, the possible building blocks are $$\pmatrix{0}, \qquad \pmatrix{1}, \qquad \pmatrix{&1\\-1&}, \qquad \pmatrix{1&-\alpha\\ \alpha&1}, \quad \alpha \in \Bbb C ,$$ which give the canonical forms
$$\underset{(0, 0)}{\pmatrix{0&\\&0}}, \quad \underset{(1, 0)}{\pmatrix{1&\\&0}}, \quad \underset{(2, 0)}{\pmatrix{1&\\&1}}, \quad \underset{(0, 2)}{\pmatrix{&1\\-1&}}, \quad \underset{(1, 2)}{\pmatrix{1&-i\\i&1}}, \quad \underset{(2, 2)}{\pmatrix{1&-\alpha\\\alpha&1}}, \,\,\,\, \alpha \neq i .$$ (The parameters $\pm \alpha$ give congruent matrices.) The pairs underset under each form are the invariants $(\operatorname{rank}(A^{\textrm{sym}}) , \operatorname{rank}(A^{\textrm{skew}}))$; the last case is generic. One can show that for a matrix $A$ whose symmetric and skew-symmetric parts have rank $2$, $\alpha^2 = \det A^{\operatorname{sym}} / \det A^{\textrm{skew}}$. The second and third classes are symmetric, the fourth class is skew-symmetric, and the last two classes are neither.
Over $\Bbb R$, most of these classes (or more precisely their intersections with $M(2, \Bbb R)$) decompose into finer real congruence classes; we should expect this, since over $\Bbb R$ the symmetric part alone has signature. Over $\Bbb R$, the real congruence classes consist of the six symmetric classes you already know, the class containing $$\pmatrix{-1&-1\\1&1},$$ and the generic classes $$\pmatrix{1&-\alpha\\\alpha&1}, \qquad \pmatrix{-1&-\beta\\\beta&1}, \quad \beta^2 \neq 1, \qquad \textrm{and} \qquad \pmatrix{-1&-\gamma\\ \gamma&-1}.$$ The matrices corresponding to $\pm \alpha$ are congruent, and likewise for the parameters $\beta$ and $\gamma$. See this note of G.D. Williams for more information about the $2 \times 2$ case over general fields.
F. de TerĂ¡n, "Canonical forms for congruence of matrices: Tribute to H.W. Turnbull and A.C. Aitken." (2010)
G.D. Williams, "Congruence of $(2 \times 2)$ matrices," Discrete Mathematics 224 (2000), 293-297.
Best Answer
I will answer part of your question.
You can determine the equivalence class of an $n\times n$ matrix by looking at its real Jordan form. In the $2\times2$ case, the real Jordan form of a matrix may take one of the following forms:
In general, if $J$ is the real Jordan form of an $n\times n$ matrix $A$, the equivalence class of $A$ can be written as $\{S^{-1}AS: S\in GL_n(\mathbb{R})\}=\{S^{-1}JS: S\in GL_n(\mathbb{R})\}$. Two real matrices are similar if and only if they have the same real Jordan form. That is, they are $\mathbb{R}$-similar if and only if they are $\mathbb{C}$-similar. So, the equivalence class of a real matrix (or strictly speaking, the intersection of its equivalence class with $M_n(\mathbb{R})$) remain unchanged if you change the field from $\mathbb{R}$ to $\mathbb{C}$.