Не очень владею терминологией паттернов, но предположу, раз больше желающих нет.
Фасад скрывает от использующего нюансы реализации. Например, в Laravel используется фасад DB, который позволяет просто отправить SQL-запрос к таблице в подключенной к Ларавели БД. Используя DB, нужно знать только поля этой таблицы. Как она подключена, на каком движке - SQLite/MySQL/Postgres/etc, логины-пароли - все это остается за фасадом.
Делегирование разбирается с логикой. У вас есть какая-то наружная логика, простая и понятная. Как она реализуется уровнем ниже, какие там вызываются классы и методы и почему - скрыто за внешней простотой.
Интерфейс делает примерно то же самое, но с разбивкой на конкретные (возможно, необходимые для каких-то внешних связей) методы. Которые могут не иметь ничего общего с внутренней работой кода, но предоставляют вам возможность работать с ним так, как описано этим интерфейсом.
Все три паттерна скрывают реализацию за упрощенной внешностью, разница в том, что и зачем видит использующий эту внешность. В конкретном случае может быть трудно отделить одно от другого, но это никому и не нужно. Важно понимать сам прием такого управления сложностью.