The relationship query is more efficient in every way. You only use one query, one query row, and it's just less code overall. When possible, you should definitely leverage relationship queries to reduce governor limit usage whenever possible.
User object can only have Hierarchical relationships. There are a couple of ideas you can vote here and here. You can create a junction object between a user and account if that suits the requirement as mentioned in the comment above. That way a user can be related to multiple accounts.
Have you thought about using Account teams?
Do note that there will be ...