Can’t remove menu items added by plugin

I’ll assume you’re calling it in your functions.php file?

If that’s the case, likely the plugin is adding the menu item after you’re call is being called. Try placing it in the admin_init() hook, at the very end.

if ( ! function_exists( 'remove_wp_menu_items' ) ) {
function remove_wp_menu_items() {
    remove_submenu_page( 'themes.php', 'theme-editor.php' );
}
}
add_action( 'admin_init', 'remove_wp_menu_items', 999 );

http://codex.wordpress.org/Function_Reference/remove_submenu_page
http://codex.wordpress.org/Function_Reference/add_action