ЕМНП, главные отличия: Task берется из пула потоков (следовательно накладных расходов по созданию практически нет), а Thread - поток создается сам (с накладными расходами, но большей свободой, например - дать имя). Пул ограничен в количестве (новые будут ставиться в очередь), Thread можете создавать как хочется и когда хочется, но при превышении критической массы, они будут вызывать скорее торможение, чем ускорение.
В .NET 4.5 появились async/await - это синтаксический сахар, который делает код более красивым и понятным. .NET 4 для тех же целей можно пользоваться вот этим:
blogs.msdn.com/b/bclteam/archive/2012/10/22/using-...