Vous pouvez créer un index sur les colonnes des tables enfants qui référencent la table parent :
sur table2 créer un index sur la colonne t1_id
sur table3 créer un index sur la colonne t1_id
cela devrait accélérer légèrement les choses.
Et/ou, ne vous embêtez pas avec la on delete cascade
, créez une procédure stockée de suppression qui supprime d'abord les tables enfants, puis la table parent, cela peut être plus rapide que de laisser postgresql le faire pour vous.