Ich verfolge die Sprache schon seit längerer Zeit und hab bisher die Erfahrung gemacht, dass in manchen Bereichen F# die Nase vorn hat, während ein anderes Mal C# als die bessere Wahl erscheint.
Als klare Vorteile von F# sehe ich z.B. die kompaktere, einfach "leichtere" Syntax. C# wirkt dagegen doch recht aufgebläht und "verbose" (wenn man C# gewöhnt ist fällt einem das gar nicht so auf, ging mir zumindest so

). Auch die Ideen der funktionalen Programmierung und deren in F# üblichen Sprachkonstrukte (Pipelining, die vielen Enumerable-Funktionen, ..) haben schon einen gewissen Reiz und können richtig Spaß machen.
Auf der anderen Seite sehe ich als eine der größten Schwächen von F# die eher dürftige Performance, C# ist hier doch meist ein bisschen bis viel schneller. Gerade da F# als Sprache für komplizierte Algorithmen angespriesen wird sehe ich hier noch viel Verbesserungspotenzial.
Prinzipiell hat man zwei Möglichkeiten: lesbarer, sauberer, langsamer, funktionaler Code oder unschöner, schneller, imperativer Code. Aber für den zweiten Fall braucht man eigentlich kein F#.
Ich denke man muss gut überlegen, ob sich die Sprache für das, was man machen möchte, eignet. Sprachen wie C# oder VB.NET haben einfach den Vorteil, dass sie sehr vielseitig sind, während F# eine doch eher speziellere Sprache ist. Für Algorithmen oder Programme, die z.B. viel mit internen Listen arbeiten und bei denen die Geschwindigkeit nicht ganz so wichtig ist, ist F# aber mit Sicherheit eine gute Wahl.