я думаю, что в тот момент когда return используется как guard statement для проверки какого нить состояния и принятия решения стоит ли выполнять эту функцию - это норм решение, в противном случае это тупо убивает читаемость кода. на мой взгляд, функция должна выполнять 1 поставленную задач и что то возвращать. в тот момент когда начинается плодение множественных return (а иногда еще и с разными типами данных), функция становится слишком сложной для понимания и требует рефакторинг т.к. вероятно она начинает заниматься какой то дичью. но опять же это мое личное мнение и на сколкьо я понимаю, вопрос сколько return должно быть у функции сродни "табы или пробелы"
https://hackerchick.com/religious-war-48293-single-vs-multiple/