Diablo 2, during the end game-phase, gave an incentive to go back to a specific dungeon to farm because of the resistance to certain element, but made sure that all the dungeons gave similar item drops (in your case, it can be xp and currency).
I would say as long as the difficulty/reward difference is negligible, people would farm in their own preferred dungeon for that class.
Should I introduce farm mechanics like "to unlock a class you need currency and this shopping list of enemy parts/items"?
I personally don't like this sort of mechanics, and it's a main reason why I shy away from most MMORPGs that require a list of X items for Y rewards. It forces me to do something that I don't enjoy so I can do something that I want to. Instead, if you can make them want to go back, not just for the reward, but for the enjoyment of playing in that dungeon and then give them a reward on top of that, it's a good system.