It is well known that ${\rm SO}(3)$ contains the free group ${\rm F}_2$, so clearly ${\rm SO}(n)$ for $n>3$ does, too. However, the standard proof with ${\rm SO}(3)$ is somewhat annoying (the one sketched here). I've been able to prove in a nice way that if ${\rm SO}(4)$ contains ${\rm F}_2$, then so does ${\rm SO}(3)$, using ${\rm Spin}(4) \cong {\rm Spin}(3) \times {\rm Spin}(3)$ and a lemma about free groups.
It seems there may be a slicker argument that ${\rm SO}(4)$ contains ${\rm F}_2$ compared to ${\rm SO}(3)$, as we have more room to work, in a sense. Is there a nice way to obtain this?
There is a standard argument which works for all algebraic groups - a relation is an algebraic equation, so a generic pair of elements in any algebraic group will generate a free group.
See
Epstein, D. B. A., Almost all subgroups of a Lie group are free, J. Algebra 19, 261-262 (1971). ZBL0222.22012.