You are correct, both Triggered Sends from CRM as well as Salesforce Data Entry Events happen near real time, based on changes in records within CRM objects. This follows a very different route than the data sync to Synchronised Data Extensions. Basically this is driven by Process Builder in CRM, which monitors records continuously and uses SFMC API to call the appropriate endpoint of either Triggered Send or Journey Entry, passing the appropriate data to it.
Keep in mind, that both Triggered Sends and Journey Builder Sends (being technically "disguised" Triggered Sends) are not entirely real time. Their performance depends on the priority of the send, which you select:
- High – Queued immediately. Using this setting requires an additional cost.
- Medium – Queued every minute by default. It can take up to 1 minute to send the email.
- Low – Queued every 5 minutes. It can take up to 5 minutes to send the email.
Meaning that in case you use the default, medium setting, you will often experience at least one minute wait between a contact reaches Send Email activity and email being sent.
Do observe, that data you select in Salesforce Data Entry event is static, as it reflects the state of CRM records at journey injection time. If you have a decision split shortly after injection, and wish to utilise Contact Data, you might experience issues of sync not having passed the data from CRM to SFMC yet. I outline some options for speeding up this process in my answer in this thread:
Marketing Cloud Journey with short wait times and use of synchronized data extensions