The English should not have "of" here. The age is ten years.
Etate is formal, for persons. Varsta is less formal, for persons. Vechime is more for the age of things.
Why "zece ani" and not "zece de ani"?
As I understood(I'm not Romanian) "de" is used when the number is bigger than 19. Ex. 20 de ani
But I can be wrong :)
You are right, de is used from 20 upwards.
What is the difference between "vechimea", "vârstă" and "etate"?