Modifying the Contents of SQL Server Agent Alerts
There is no way to directly modify the subject and body fields of the email alerts generated by SQL Server Agent.

Having the alert run a job instead of directly generating an alert email would be the correct way of getting to your desired state.  Having said that, it's not necessary to use PowerShell for that if you don't want to.

Unfortunately, there does not appear to be a way to pass parameters into the job from the alert.  This means you'd need to define a separate job for each alert you have configured.