Essa é realmente a melhor abordagem a se fazer. Uma boa prática é vc gerar uma DAO para cada uma das suas entidades persistentes, fora que, no seu caso, não há como instanciar um Movimento sem ter uma conta associada a ele, logo, não fica nada estranho vc passar a conta como parâmetro das suas operações.
Caso a sua relação seja de um movimento têm uma conta (já que uma conta tem vários movimentos), então seria interessante vc passar apenas a “chave primária” do objeto Conta, para realizar as operações de persistência na MovimentoDAO.
Caso a sua relação seja de vários movimentos para várias contas, então seria interessante vc criar um outro tipo de DAO, que represente essa relação entre os dois, onde vc passaria a “chave primária” desses dois objetos para realizar as operações de persistência. Aì no seu ContaDAO e MovimentoDAO vc teria apenas operações pertinentes a os objetos Conta e Movimento, sem recebimento de parâmetros de outras classes.
Precisa ver qual seu mapeamento e analisar a melhor solução pra vc…