Which type to use?

I want to return a ‘table’ which is the response from a SQL query. I will need to manually create the data as the SQL comes from an unmanaged type from a COM object as it reads a special file not a sql server. So I can pick any data type.

What data type should I use in order to be able to work with the data using standard sort and format cmdlets?

PSCustomObject. Add each column to an object as a property, and emit a new object for each row. I’d create a dedicated function to do just that - a la, ConvertFrom-MyGoofyCOMThing.