How can I create a sales report on a per customer basis showing Sales, GP Sales and GP % for the last 3 years. 

You can create the above report by using the Pivot Table report from Market Analysis 

This creates the first Pivot table with Sales YTD for each customer