Yes it will overwrite the existing value in Lead Source. What I suggest:
1. create a Marketo process to capture the original lead source in a separate set of fields and block field updates
2. put all your leads in Salesforce.com campaigns and you'll always be able to tell where they came from.
What I've seen work best is using Lead Source in Salesforce.com for a more general list of lead source types, like "Trade Show" and then add a new field called "Lead Source Detail" and put the actual show in there.
The reason to do this is that Lead Source is a pick list, and everytime you do a new show, you have to add a new value to the pick list, which is unnecessary, if you use the Lead Source Detail (which would be setup as a text field).
Another best practice is to add Lead Source (and Lead Source Detail) after you upload your list in Marketo. That way, you'll see who's already in the system and you can run a Flow action to update the Lead Source/Detail only if it's empty.