I am in the same kind of situation. Some of the responses to my question might help you as well.
I am still looking for a solid answer.
Martin you are looking for the IPriceService. In 1 R3 only IPriceService exists, but in 7.5 IPriceDetailService was added.
Check how the CartHelper/StoreHelper class is using it or check the 1 R3 SDK (Mediachase.Commerce.Pricing).
I am getting very confused trying to work out how to do simple variation sale pricing in Commerce 1R3.
In the Commerce UI you can search for and find a variation and then on the Pricing/Inventory tab you can add a custom sales price for the variation.
But how do I get that information using the API. The variation.ListPrice is available on the CatalogEntryDto.VariationRow object, however there is no equivalent for the Sales Price on that type.
The release notes for 1R3 talks of "New Pricing Provider, with stronger currency types", but the IPriceDetailService class in 7.5 does not exist in 1R3, and most of the current examples online demonstrate its use.
Our goal is to simply output this configured sales price below the list price, with the list price struck through.
Note that product sales pricing is different from promotioanl pricing [the buy one get one free type of business rule applied to a shopping cart] and is really unit mark down pricing, applicable outside the checkout process, and is selling a product at lower than list price, which is usually used at product EOL or on low margin products to encourage cross/up selling. Sales Pricing is not dependant upon any other products in the cart, or anything else for that matter.
We have promotional pricing working fine, more or less, as it applies to the cart line items and order form, and not the variation in the catalog.