In genere io preferisco crearmi delle classi e magari rinchiuderle in apposite librerie. In questo modo isolo del tutto la parte "riutilizzabile" del codice che potrà quindi avere una sua vita indipendente dal progetto corrente rendendolo semplice e snello.
I Code Module potrebbero essere riservati a quelle routine di comodo (calcoli, manipolazione di stringhe, sorting..) che non hanno interazione con eventi causati dall'utente o dal sistema operativo, ritornando quindi al loro scopo iniziale che era quello di mettere da parte delle funzioni sempre utili ed ormai testate ed affidabili.
Finora, nel mio caso, ciò che non finiva nelle classi veniva distribuito tra Activity e Service in funzione delle caratteristiche specifiche.