
I think we need to prove that L(G) is a subset of L and then we need to prove that L is a subset of L(G).
For the first part, I think we need to say for any w in L(G) we have an even number of as and bs, we have 2 cases aSbS and bSaS, and we need to prove that those two can become awbw and bwaw respectively at a certain point. For the other part, I have no idea. I think we need to show that any w in L can be obtained with the CFG, but how to do that, I have no idea. Can someone flesh out a full proof?
Showing that your context-free gramma produces only strings with an equal number of $a$'s and $b$'s is easy. You start out with the non-terminal symbol $S$. That contains zero $a$'s and zero $b$'s. Now apply one of the productions \begin{eqnarray} S &\to& aSbS \\ S &\to& bSaS \\ S &\to& \epsilon \end{eqnarray} Each production maintains the invariant that there are as many $a$'s as there are $b$'s, since they all introduce either exactly one $a$ and one $b$, or none at all.
For the other direction, you can use induction. You can obviously produce the zero-length string, using the production $S \to \epsilon$. You can also produce the two-character strings $ab$ and $ba$, which are the only two-character strings containing an equal number of $a$'s and $b$'s. Assume now that you can produce every string with $2k$ characters or less containing an equal number of $a$'s and $b$'s. Say you have a string $\omega$ with $2(k+1) = 2k+2$ characters, and for simplicity assume wlog that it starts with an $a$. Now look at all possible ways to write $\omega$ as $$ \omega = a\omega_1b\omega_2 $$ Since $\omega$ contains at least one $b$ (it must, since it starts with an $a$), there's always at least one such pair $\omega_1,\omega_2$. If you can show that you can additionally require that both $\omega_1$ and $\omega_2$ contain an equal number of $a$'s and $b$'s, youre done - both $\omega_1$ and $\omega_2$ are obviously at most $2k$ characters long, so by the induction hypothesis, you can produce them. You can then also produce $\omega$ by starting with the production $S \to aSbS$, followed by whatever you need to do to produce $\omega_1$ and then $\omega_2$.
The remaining question is, given a string $\omega$ starting with an $a$ and containing an equal number of $a$'s and $b$'s, can you always write it as $$ a\omega_1b\omega_2 $$ such that both $\omega_1$ and $\omega_2$ also contain an equal number of $a$'s and $b$'s?