Discourse provides group and category level permissions which is far more useful and flexible as compared to role based permissions.
Yes, it is designed to fulfil that purpose.
Yes, this can be achieved by using correct group permissions on the required categories.