In my opinion, there's no good reason not to switch to 3.5.
The real killer feature is that you can continue to target older versions of the runtime (2.0+) while using all the new language features. So you can use the new lambda expressions, extension methods, anonymous types, and all the other good stuff. And if your customers are still primarily using the 2.0 framework, you can continue targeting the earlier runtime.
(Just don't use any of the classes from the 3.5 framework, if you have to target earlier runtime versions.)
Personally, I think if you're doing a desktop GUI app, your best bet is to use the 3.0 or 3.5 framework, since WPF is the best user interface library I've ever worked with (by a long shot).
On the other hand, if you've already written most of your GUI in WinForms, then you might be interested in the 3.5 framework, which allows (limited) intermingling of WinForms and WPF GUI elements. You can keep the work you've already done, but add a few nice touches here and there, wherever it makes sense, with WPF controls.
Another handy feature of the 3.5 framework is "Collection Initializers". Check this out:
var myDictionary = new Dictionary {
{ "key-1", "value-1" },
{ "key-2", "value-2" },
{ "key-3", "value-3" },
};
Neat, huh?
I'd have liked it a little better if it was a little more JSON-like. But it's very convenient functionality anyhow.
Any you can event target that code for the 2.0 runtime!