I. Map source can come from pretty much anywhere.
One tool available for use in the game folder is the Map Scanner, available in the Extras folder. The instructions are in the Resources subfolder, so I'll just mention some key tips here. All water areas need to be coded for pure blue, code 0000FF, so that will likely involve a lot of editing to add that color to all water areas. Alas this app dates back more than 10 years, and uses the game's tile codes from the previous game engine, which doesn't match the current one's settings, so tiles will come out all weird in most cases, meaning you will likely still have to manually choose them yourself.
II. I use Google Maps for my main mapping needs.
I typically will zoom in sufficiently onto the area of the map that I want to work on next. The biggest issue is what to do if that map section in the editor is not perfectly oriented N-S-E-W (for pretty much all non-Mercator projections). The drawing program I use is good old fashioned Microsoft Paint, which alas has a lot of missing functionality found in more advanced programs, one of which is that it will only rotate a pic in 90 degree intervals. But for a goob like me it is more than sufficient.
Google Maps for mobile devices WILL rotate the map for you, but it won't tell you how many degrees. The more advanced drawing programs will typically do so however; me, I use an online app: https://onlineimagetools.com/rotate-image. Note it saves it in PNG format, which Paint doesn't support (I typically change it to a JPG, but note JPGs lose a lot of little details, and sometimes a GIF or a bitmap may be more desireable).
III. You'll need a hex grid, oriented how SC has them, flat tops N-S.
Here's the file I use, a bitmap so as to avoid all the little non-clear pixels that a JPG will put in):

Note the number [145] in the bottom left corner, which is the number of pixels that the hexes are wide (N-S). We'll need that when we resize the hex grid to match the scale of the map we are making.
Google Maps will have a scale bar in the bottom right hand corner. I'll simply grab a screenie, plop it into my painting program, and measure how wide the bar is, and note the Google Maps' scale. Typically I'll zoom in on GM until I get a 10 mile wide bar; this is to avoid errors which can sneak in if you use too big a chunk of the map at once. Measure the bar in pixels in your painting program.
Now some easy peasy math. Assume the bar was 90 pixels wide. My map uses 12 mile hexes, so multiply the bar size by 12/10 (or 1.2):
90 x 12/10 = 108
That's the desired hex size for your job. Now to establish how much we will need to shrink the hexes:
108 / 145 = 74.4%, so you'll need to shrink the hexes by 25.6%. Paint uses a percentage of the original size, which rounds down to 74% (alas Paint doesn't use decimals, but close enough for our purposes).
Shrink the hexes to the desired size, copy and paste the grid (switching your drawing program so that it will overlay on your map and not blot it out; Paint has that under the Select icon, called "transparent selection") onto your map. You can align it however you want, based either on how pleasing or useful the resulting map sprites will look, or if you already have a map section you have already built you can align the new section with the old one using a common hex (typically a city for me).
Here is a shot of the N Tunisian and NE Algerian coast that I used last week, rotated 5 degrees clockwise. Note I wrote in the hex size and the shrink % above the distance bar in the lower right hand corner:

IV. Apply the hex sprites/tiles/pieces to build the map.
To get the best use out of these, you need to grasp how the tile sprites are aligned. I'd suggest opening the editor now so as to follow along.

A land tile will have been designed to attach to another land tile at two of the red marks; you can imagine a clock face overlaid on the hex. There will typically be 4 tiles for each possible orientation, 2 sea spaces and 2 land spaces. [At the bottom of the tile screen are some specialized tiles, for fjords/canals or isthmuses and such-we'll use those as necessary] You just note how much land (or sea) a given hex has on the map you made and try to find the best matching sprite.
The biggest issue is how the opposite tiles have been drawn (the ones where the attachment points are opposite each other, say 3:30 and 9:30). Often you'll have a straight section of coast that you are trying to match-except that the person who made the sprites usually made the 2 sea spaces all deeply curved inwards, and the 2 land spaces bulged way outwards. You can either go with the best of a bad lot, or try to redraw the coast in such a way so as to avoid such dilemmas. The Tunisian example has one such tough one, the hex N of Hergia on the Tunisian east coast, going from the 12:30 to 6:30 junctions, which would use the sprites numbered 344-347 in the editor. 344 is the best match but it is still much too skinny and bulges inward too much. I redrew the given area (moving the coast out E maybe 4 miles) such that I could instead use sprite 271.
So you just go around the edge of the coast placing the best matching sprite as you go, and eventually you are done! There is a logic in how the tiles are organized; the first coastal piece 16 goes from 11:30 to 12:30, a tiny little stub sticking out to the south. Each group of 48 tiles shares the same starting junction on the left, as the other junction goes around clockwise, 12 groups 4 tiles in each group.
There is apparently some sort of shortcut involving the right mouse button to autoscroll to the matching group of 4 sprites, but I can never get it to work correctly...
Next: Making Greece