The options that are provided within Windows itself are somewhat limited, but the internal settings, which are stored in the registry, might provide the additional granularity you want.
HKEY_CURRENT_USER\Control Panel\Desktop
has a "DockMoving" value which as I understand it corresponds to the feature where moving a window to the left, right, or top of a screen will attempt to dock to either side, or maximize when dragged to the top. If you change this value to zero, you may be able to have it so you can drag maximized windows and have them auto-restore, without having them maximize if you drag windows to the top.
There are no program-specific settings as far as I can find.