Laravel responsibility in the classes

Seems like you have many actions depending on deleting user, so I would consider using Events and inside each listener handle the specifics of it.

class UserController extends Controller
{
    /**
     * @var UserService $userService
     */
    protected $userService;

    /**
     * UserController constructor.

     * @param UserService $userService
     */
    public function __construct(UserService $userService)
    {
        $this->userService = $userService;
    }

    protected function delete(int $id)
    {
        if(!$this->userService->delete($id)) {
          // return some error;
        }

        event(new UserWasRemoved($id));
        // return success response
    }
class DeleteUserService {

    protected $user;

    public function __construct(User $user)
    {
        $this->user = $user;
    }

    public function delete($id){
       return $this->user->delete($id);
    }
}
// app/Providers/EventServiceProvider

class EventServiceProvider extends ServiceProvider
{
    /**
     * The event listener mappings for the application.
     *
     * @var array
     */
    protected $listen = [
        UserWasRemoved::class => [
            CancelUserEvents::class,
            RemoveUserFavorites::class,
            // etc...
        ],
    ];
}