Co do nazewnictwa: https://www.php-fig.org/psr/psr-12/
jak optymalnie podzielić zadania między funkcje klasy
Nie ma jakiejś jednej, złotej zasady. Po prostu wypada dzielić zadania tak, żeby każda metoda wykonywała jedną rzecz. Zresztą podobną zasadą powinno się kierować przy tworzeniu klas, więc jeśli zakładasz, że Twoja klasa ma robić dwie rzeczy, to prawdopodobnie jest tutaj miejsce do podziału na dwie klasy.
jak zminimalizować liczbę użytych pętli aby zapewnić maksymalną wydajność strony,
Trudno cokolwiek powiedzieć, nie widząc kodu. Niemniej brzmi jak przedwczesna optymalizacja. Na razie bym się tym nie martwił.
jak poradzić sobie z obsługą błędów
Klasa w razie problemów powinna rzucić wyjątkiem – tyle. Jak to zostanie obsłużone przez resztę systemu, to już zupełnie odrębny problem.
przekazywać dane do obiektu w formie argumentów funkcji czy deklaracji zmiennych (np. $lang->prefferences = ["pl"];)
Pytanie brzmi, czy te dane potrzebne są całej klasie, czy tylko tej metodzie? Ogólnie jako własności powinny być te dane, które stanowią tzw. stan klasy (np. aktualnie wybrany język), natomiast wszystko to, czego potrzebują metody do pracy powinno iść jako parametry metod.