Проблемът тук е, че не прикачвате роля към нито един съществуващ потребител, а просто изпълнявате:
$roleuser = new User;
за създаване на потребителски обект, който не е запазен в базата данни.
По-скоро трябва да направите нещо подобно:
$roleuser = User::find(1); // find user with id 1
$user_superadmin = Role::where('role_desc', 'Superadmin')->first();
$roleuser->roles()->attach($user_superadmin); /*this line specifically*/
или
$roleuser = User::create(['name' => 'Sample user']); // create sample user
$user_superadmin = Role::where('role_desc', 'Superadmin')->first();
$roleuser->roles()->attach($user_superadmin); /*this line specifically*/
Също така не трябва да използвате $roleuser
променлива тук, защото очевидно е $user