Giving shell access is never 100% safe. Having shell access is the first part of hacking a system. However another just as important issue is that once a user has shell access they can launch outbound attacks if you are not careful.
I personally have setup a method were users can get shell access if they request it and fax in some information and only then can they obtain shell access.
Basically it boils down to do you want to take the gamble?