Is it OK not to sort transactions at all?
As long as all selected transactions are valid, you may select any transactions you want.

You should check that there are no double spends among the selected transactions and that you keep any transactions which build on each other in the correct order, i.e. if TX B spends an output of TX A, TX B has to be listed after TX A in the block if you select both.

Sorting them by fee rate (i.e. fee paid per data size or satoshi per byte) will greedily maximize the transaction fees that you collect per block, to optimize block usage while maximizing fee, you'd have to perhaps use a knapsack solver.

Priority was turned off by default in Bitcoin Core 0.12.0, I actually asked a few months ago whether any miners still select by priority.