Hello!
You need prepared transactions only if you need two-phase commit to provide distributed atomic transaction on multiple different databases.
If you not need distributed transactions - you not needed prepared transactions at all.
But if you need distributed transactions - here is no more choice regardless performance questions.
As say in documentation https://www.postgresql.org/docs/current/static/sql-prepare-transaction.html
> Unless you're writing a transaction manager, you probably shouldn't be using PREPARE TRANSACTION.
Regards, Sergei