Gomez is not world-class... that's for sure, but he is a good player. It depends what you mean by top player. If you think "world-class" then no, but top player as in international class and amongst top 5-10 strikers, then yes.
He has some glaring flaws, but you can't look past his 40 goals per season. Not many strikers will give you that nowadays.