If you don't know the control's specific type ahead of time, this isn't possible. The class must derive from UserControl, so you can cast it to a UserControl and you'll have access to all the methods and properties on that class. If there's some special information or functionality you need to require all controls to have, and you need to be able to assume those are always present, then you will have to write your own class that derives from UserControl, and require all custom controls to derive from that instead:
//all custom controls must inherit from this
public abstract class SpecialControlBase : UserControl
{
public abstract void DoSomethingSpecial();
}
Then you could cast all controls at load-time to this SpecialControlBase, and have access to the DoSomethingSpecial method.
But as far as the most-specific members of a class loaded at runtime, think about it - if I write my own control called RexsUserControl and drop it into your application, there's no way you could know what methods and fields I've put on my control, so you can't write any code that references those members specifically.