Remove admin menu

There are three ways to do this I guess.

First, you could start with blocking all access to admin.php and then whitelist the pages they are allowed to browse. Unless your users are really restricted this may take a while to figure out.

Second, you could use the built-in capability system of WP, removing capabilities of those roles you want to restrict. To start, look here: http://codex.wordpress.org/Roles_and_Capabilities

Third, you could opt to use a plugin, such as Adminimize: http://wordpress.org/extend/plugins/adminimize/

In any case you should pass a capability with current_user_can(), not a role:
http://codex.wordpress.org/Function_Reference/current_user_can

Hope there’s a solution among the three that you like. Good luck!