I took the plunge and switched from swiftmailer to symfony_mailer in StratosERP on the weekend, and it was surprisingly simple!
This snippet of code generates a pdf file using entity_print with wkhtmltopdf in the private filesystem, creates a new email, attaches the file and also takes a text_format field for the body and sends it.
// Create the Print engine plugin.
$printEngine = $this->printEngine->createSelectedInstance('pdf');
$filename = 'output_filename.pdf';
$uri = $this->printBuilder->savePrintable([$entity], $printEngine, 'private', $filename);
$email = $this->emailFactory->newTypedEmail('se_email', $entity->bundle())
->setFrom(\Drupal::currentUser()->getEmail())
->setTo('test@test.com')
->attachFromPath($uri)
->setSubject('Test email with attachment')
->setBody([
'#type' => 'processed_text',
'#text' => $email_text['value'],
'#format' => $email_text['format'],
]);
$result = $email->send();