Уместен ли return в void функциях? Как лучше else-if-else или множественные return`ы?
Стандарт кодирования, это такая вещь, из-за которой любят поломать копья. Он - как поэзия, сложно измерить его вклад в вашу жизнь. На мой взгляд, самое правильное - сформулировать свой стандарт (он может на 100% совпадать с каким-то уже существующим), обосновать его самому себе и жить спокойно. Стандарт можно пересматривать по необходимости время от времени.
Скорее всего, вам нужно разбить эту функцию на две (или больше). Без полного кода точно не сказать.
Существует мнение, что чем меньше уровней вложенности в коде (второй вариант), тем лучше. Но это только мнение и вы сами должны понимать, когда его принимать в расчет, а когда нет.
Разумеется, это понимание нужно выработать, но сделать это можно только практикуясь. Так что, пишите код, читайте книги, читайте чужой код и постепенно выработаете свой стандарт (Хотя, почитать что-нибудь на эту тему, конечно, совсем не вредно - https://refactoring.guru)
Портянки if-else не любит никто. Это раз. Некоторые не любят множественные return`ы. Это два.
Лично для меня удобен вариант с return`ами. 
Если сравнивать, с большим количеством вложенных if-else`ов, код становится разреженным - сложно глазами все удержать. А с return`ами более компактно получается. 
Кроме того, если, например, метод запускается с некоторой вырожденной комбинацией параметров и часть кода получается незадействованной, то сразу видно, что в таких то условиях в методе никаких больше действий выполнятся не будет, а не искать где-то там в конце закрывающие скобочки и разбираться относится ли оператор в межскобочном пространстве недалеко от конца метода к данной области видимости.
Множественные return`ы не любят потому, что вроде как одна точка входа и одна точка выхода - это хорошо. Что, мол, бывают случаи, когда независимо от условий, перед выходом из метода нужно будет выполнить какое-нибудь общее действие, типа освобождения ресурсов. Но, это бывает далеко не всегда. И слепо следовать принципу: "одна точка входа/одна - выхода" не стоит. 
В общем, ответ на ваш вопрос: "Пиши читабельный код и DRY (Don`t Repeat Yourself)"