Data cleaning for lead sources can definately be a little tricky for lead source updates. Like Josh said, make sure to adjust the picklists in SF or you'll be fixing them again later.
In terms of historical data, it can be as simple as complex as you want.
--Simple: A Change Data Value campaign like, "If Lead Source = List Vendor, change Lead Source to Online Advertising."
--Complex: A multi-rule campaign that uses historical data to update Lead Source---"If acquision program is XYZ, then Lead Source = ABC, if form filled out = X, the lead source = Y"
In terms of impact, there shouldn't be much except for reporting implications. The exception would be if you had certain Marketo campaigns trigger based off of Lead Source. For example, if a lead was created with a Lead Source of Webinar, increase lead score +25.
I recently wrote up a who bunch of thoughts on Lead Source Management that expands the single Lead Source field to 8 fields. Hopefully this might help your thought process. Feel free to ask me any questions.
http://www.revenginemarketing.com/wp-content/uploads/2014/05/RevEngineUltmateGuidetoLeadSource-Manag...