This is a known difficulty in Commerce 2.x. You can review the options in this issue https://www.drupal.org/project/commerce/issues/2928139

The best solution I have found is clicking show row weights in manage display for the product, the product variation, and the order item type - add to cart form - form display. You can then manually set the weights rather than drag and drop. For example set the weight of the field you want to be first to -50, and the field you want to be last to be 50. Then adjust the fields in the middle. 

You will have to jump back and forth between the 3 displays I mentioned, and this won't fix all your problems, but it will help. 

You can overwrite the twig template in your theme as seen here: https://www.drupal.org/project/commerce/issues/2928139#comment-13444854

You could also hack and hide all the fields, and build custom view of fields, and use display suite to add the block view to your product display. 

It really depends on what exactly you want to do.