The PropertyDescriptor exposes the associated TypeConverter via it's Converter property, but calls to GetValue/SetValue do not automatically convert any values for you. You would have to get the TypeConverter and manually call into it to do any conversion.
There is no relationship from a PropertyDescriptor to one of our IPropertyDataAccessors. The PropertyDescriptor is completely independent of our PropertyGrid and it's abstraction layer. However, our PropertyDescriptorDataAccessor (which implements IPropertyDataAccessor) does have a reference to the associated PropertyDescriptor, which is exposed via the PropertyDescriptor property.
We have a Custom TypeConverter QuickStart that shows how you can leverage custom TypeConverters that are associated with properties and not types (i.e. the TypeConverterAttribute is on the property definition, not the type definition). If that doesn't help please put together a small sample project that reproduces your issue and email it over then we can take a closer look. Be sure to remove any executables or change the extension of the zip file to ensure it gets past our email filters.