I use Coastal Explorer from Rose Point Navigation interfaced with an older Garmin GPS. It has worked pretty well for me.
One constraint I had when I bought it was that I was going to be cruising on the west coast of Canada and there is only one source for charts. All US charts can be downloaded for free. The Canadian charts I needed were more expensive than the software.