If you don't need an exact figure, simulation is, as you've discovered, easy to do and a good approach to getting an answer.
But if you wanted something more exact, you could write yourself a short program to iterate through all $\frac{12!}{9!} = 1320$ ways three test scores could be chosen. Each triple is equally likely to represent your final grade as any other, so the probability of a final grade being $X$ is the portion of triples with average grade $X$.
Finally, if you don't feel like writing any code, you could power through a smaller number of cases and model the sampling as a multivariate hypergeometric distribution. With this distribution you can calculate the probability of your final grade consisting of $n_{100}$ 100s, $n_{33}$ 33s, and $n_{66}$ 66s as
$$\frac{\binom{4}{n_{100}}\binom{2}{n_{33}}\binom{6}{n_{66}}}{\binom{12}{3}}$$
and go from there.