Here is what I have used.
select c.[Name], r.RoleName, u.UserName
from reportserver.dbo.catalog c
join reportserver.dbo.PolicyUserRole p on c.PolicyId=p.PolicyId
join reportserver.dbo.Roles r on p.RoleId=r.RoleId
join reportserver.dbo.Users u on p.UserId=u.UserId
where name <> '' and c.Type = 2
order by c.[Name], u.UserName