Sysadmins can be found joining sys.server_principals with sys.server_role_members.
DB_owners can be found joining sys.database_principals with sys.database_role_members.
The other permissions that allow to drop a database are CONTROL at the database level and ALTER ANY DATABASE at the server level:
SELECT pr.name
FROM sys.database_permissions AS dbp
INNER JOIN sys.database_principals AS pr
ON dbp.grantee_principal_id = pr.principal_id
WHERE permission_name = 'CONTROL'
SELECT pr.name
FROM sys.server_permissions AS dbp
INNER JOIN sys.server_principals AS pr
ON dbp.grantee_principal_id = pr.principal_id
WHERE permission_name = 'ALTER ANY DATABASE'
Hope this helps
-- Gianluca Sartori