Both expressions are grammatically correct and convey a similar meaning, but there is a subtle difference in emphasis.
The expression "She is a good teacher of English" emphasizes the quality of the person as a teacher, suggesting that she possesses certain skills, knowledge, and abilities that make her effective in teaching English. It focuses on her role as a teacher rather than the actual process of teaching.
On the other hand, the expression "She teaches English well" emphasizes the action of teaching itself and how effectively she carries out that action. It highlights her ability to communicate the subject matter clearly and help her students understand and learn.
Therefore, both expressions can be used depending on the context and what you want to emphasize. However, the first expression is more focused on the person as a teacher, while the second expression is more focused on the action of teaching.