I agree with Mendelt, there is no "best" DI framework. It just depends on the situation and they all have pros and cons. think David Hayden said on DotNet Rocks that Unity is the preferred choice if you use the rest of EntLib and are familiar with that. I personally use Unity because my customer likes the fact that it says Microsoft Enterprise Library (Unity) on the DLLs, if you get what I´m saying.
I use both both xml configuration for setting up the interfaces and their concrete implementations but then I use attributes in code when injecting, like:
<type type="ILogger" mapTo="EntLibLogger">
<lifetime type="singleton"/>
</type>
and in code:
[InjectionConstructor]
public Repository([Dependency] ILogger logger)
Personally I think that makes it clearer what happens, but of course one could argue that you will have references to unity all over your application. It´s up to you.