Uhm, definisci conveniente.
In genere se c'è un wrapper si usa quello. Le api di un wrapper sono tipicamente più espressive e di solito ti restituiscono degli oggetti python un po' più ricchi del banale stdout/exit code di un processo. Se ti basta fare tutto a colpi di pipeline in bash, allora fai così e butta via python. Ma se *vuoi* python, allora lo vuoi tutto, ovvero vuoi il wrapper. Usare python solo per pilotare sub-processi esterni non ha senso. Cioè, può aver senso quando non c'è un wrapper. Se c'è un wrapper, non ha senso.
Poi potresti avere delle ragioni specifiche per non usare il wrapper. Magari l'api del wrapper è fatta male. Magari il wrapper non è più aggiornato e non wrappa più alcune funzionalità nuove che ti interessano. Magari scopri che con bash è più veloce per quello che devi fare. Magari. Definisci conveniente, appunto.
Detto questo, nel mondo python in genere si usa di più pil/pillow di imagemagick. Ma vedi tu.