Olá Lucas.
A escolha feita pelo instrutor está ligado ao paradigma da programação orientação a objeto (POO), onde deixamos a responsabilidade separada, não misturamos varias logicas em uma mesmo método, se essas logicas não fazem parte da mesma responsabilidade.
Essa escolha está estritamente ligada aos conceitos, você pode conhecer mais afundo no artigo sobre POO.
Mas entendo que a solução que você propôs não está incorreta, mas vale uma reflexão, se em algum momento a logica de como retiramos dinheiro na conta mude, incluindo talvez uma taxa ou log, será necessário fazer essa alteração em dois lugares.
No método transfere:
transfere(self, valor, destino):
self.s__saldo -= valor
destino.deposita(valor)
e no método saca:
saca(self, valor):
self.__saldo -= valor
Nessa situação pode ser que não seja um problema, mas repito que a reflexão sobre, determinar responsabilidades para o seus métodos, é importante porque assim garantimos que o seu código será mais simples de entender e de fazer manutenções.
Espero ter ajudado a entender, mas qualquer duvida não hesite em perguntar.
Bons Estudos.