A little update based on new information.
All haplogroups I are the indigenous people of Europe, the direct descendants of Cro-Magnon (it isn't R1b as previously thought). This is why I is found everywhere in Europe at low frequencies, except I1 which remained strong in Germanic countries. A pocket of I2a1a (M26) survived in Sardinia because of it's relative isolation. I2a1b (M423) seems to have adopted agriculture early on around the Carpathians and is thought to have migrated to the Dinaric Alps around 1000 BCE with the Illyrians, where it survives in over 50% of male lineages in most of Bosnia and Croatia.
Ancient Greeks
The Pelasgians (pre-Minoan Greeks, or Helladic Greeks) belonged to an admixture of I2, E1b1b, T and G2a. E-V13 and T probably arrived in Greece from the Levant (and ultimately from Egypt, hence the small percentage of T) in the early Neolithic, 8,500 years ago. G2a came from the Levant was picked up in Anatolia along the way by Levantine farmers and herders.
Minoan Greeks migrated from Mesopotamia via Anatolia. They were mostly J2 people, but probably had some E1b1b too.
Mycenaean Greeks arrived around 3,600 years ago from the Pontic steppes via the Balkans. They were an Indo-European people belonging to R1b-L23 and/or R1a. The Thracians, who emerged as a blend of Indo-European R1a and Neolithic I2a1b, are also responsible for the higher density of I2a1b and R1a in northern Greece.
Greece was invaded by the Dorians around 1200 BCE. Nobody knows who they were or where they came from, but the high percentage of R1b in the regions where they settled (Peloponese, Crete) strongly suggest that they were R1b people. The events are linked to the Sea Peoples (see below), who were probably R1b people from the north-east of the Black Sea, or early Celts from central Europe.
Greek historians sometimes mention that the Dorians were the descendants of the Trojans who came back to avenge their ancestors. The Trojans were an Indo-European people related to the R1b Hittites (see below). This would also explain why there is about the same percentage of R1b and R1a in modern Greece. Each correspond to a different wave of Indo-European invader. They only make up 12% of the population (each) because the Neolithic farmers (especially E1b1b) were already well-established and numerous by that time.
Ancient Anatolians
Southern Anatolia was colonised early by Neolithic farmers and herders from the Fertile Crescent (E1b1b, G2a, J1, J2, T).
The Indo-European invasions brought the Hittites (1750 BCE), the Lydians and Lycians (1450 BCE), Phrygians (1200 BE) and the Proto-Armenians (1200 BCE). All were probably predominantly R1b-L23, considering its high percentage in the regions they settled. R1b Indo-Europeans are thought to have originated on the north-eastern shores of the Black Sea, just north of the Caucasus. They could have invaded northern Anatolia by crossing the Caucasus, sailing across the sea, or going around via the steppes through the Bosphorus.
Later R1b were possibly (part of) the Sea Peoples that ravaged the ancient Near Eastern civilizations, from Greece to Egypt. Their advance military technology and sea-based culture make of them very good candidates.
The Cimmerians are probably the last wave of migration (around 700 BCE) from the Pontic Steppe. By that time the steppe would have been thoroughly overrun by R1a people, so that was probably the Cimmerians's main haplogroup. They are said to have be expelled from Anatolia and moved to Europe, where they joined the other R1b people. Germanic and Celtic people both claim (partial) Cimmerian ancestry.
Romans, Celts and Germans
Celtic, Italic and Germanic people are all descended from the same R1b-L11 stock. They split north of the Alps, in modern Germany. They also incorporated a sizeable minority of G2a3b1 and J2b2 lineages, especially the Celts and the Italics.
The Italic branch went south and mixed with the Terramare people who were I2a1a, G2a and E1b1b. Northern Italians have more Indo-European Celto-Italic blood, while southern Italian have more indigenous blood (the highest being Sardinia, then Basilicata).
The Germanic branch moved north and mixed with the indigenous I1 and I2a2 people, who had already mixed with R1a migrants from the Corded Ware (Battle Axe) culture. The new hybrid Germanic people retained the highest percentage of autochthonous haplogroup I.
Celtic people split in several groups : the Brythonic went to Britain and Ireland, the Gaulish to France, the Iberian to Spain and Portugal, and the Alpine remained around Austria, Switzerland, southern Germany, Eastern France and Belgium. All of them mixed with I2a1a, G2a and E1b1b people from the Megalithic cultures. The Alpine and Rhino-Danubian Celts also encountered I2a2 people.
It is likely that the language of the indigenous Europeans influenced the various Celtic, Italic and Germanic dialects. Germanic languages diverted the most from the original European R1b language because it assimilated a very large part of aborigines.
From about 700 BCE, the Etruscans settled around Tuscany and the Greeks in southern Italy. Etruscans probably came from western Anatolia or some Aegean islands, and brought mostly haplogroups E1b1b, G2a, J2 and R1b-L23 with them. The Greeks in Italy brought a similar admixture, but with a higher proportion of E1b1b. The Romans progressively absorbed the Etruscans and Italian Greeks and mixed with them. By the time of Julius Caesar Roman citizens were probably composed of 45% of R1b, 20% of J, 15% of E1b1b, 15% of G2a and 5% of I2a1.