I have seen few gold earning guides / cheats but haven't seen one that I have been using so I'd like to share it. It can be used by Assasin/Thief with Theft skill (two other skills that can help a lot are Trade and Identification).
This method becomes more effective at higher levels / harder difficulties where stole stuff is more valuable and in just an hour or two it is possible to earn ~5 000 000 - 10 000 000 at higher levels, and quite easily. Everything in this guide applies to low level characters too but only difference will be amount of earned money. Numbers are only for example purpose.
So, first you need is Assasin/Thief with Theft skill. This guide assumes you also have Trade and Identification.
Go to Town and click Q for Quick Save, now we need to find NPC in Town that has most valuable item, use Theft on Town people to see item they have, if you get too many 'missed' messages and can't try anymore then Load your save and try again, repeat this as many times as necessary until you have either checked all Town people or have found one who has valuable item. I wouldn't waste time on Chicken, it only has egg.
Item is considered as valuable when it has high value per square (for example item that takes one square room in inventory (amulet etc.) and has value of 5000 Gold is more valuable than piece of armor that takes 6 squares room in inventory and has value of 25 000 Gold). Items that has value higher than 10 000 per each square can be considered very valuable. Personally I think value also depends on your level and difficulty level, more valuable can be found later in game.
If you fail to find NPC with item you like then start a new game and try again.
So now we have found person (lets call him Ray or Edward) with valuable item. Lets imagine this item takes 2 squares room and gives us 3000 Gold each (even with our current Trade skill). Basically we are now stealing same item again and again until we are happy. How? We steal it, click Q for quick save, Load a game that we just saved, steal same item again (loading a game gives us new chance to steal, we don't get message "don't steal this person anymore"), Q, load, steal, Q, load, steal..
You can fill your inventory (it is possible to get 4*6 = 24 items, 24*3000 = 72000 Gold, in our previous example to inventory) and then start dropping those new items on ground. Do no worry, no one in town will ever notice there are few hundred shields, axes, amulets, suits, etc.. laying on ground.
There are two ways that can make this even more efficient.
1) Make another character (either Warrior or Thief for Trade) and let him/her carry some of your items.
2) Try to get NPC "stuck" between you, Perry the Publican and table that is next to Perry. When NPC is stuck there then it is easier to steal from same NPC during longer time frame.
Now combine these two ways. Assasin/Thief is keeping NPC stuck and stealing stuff, each time you steal item you give it to other character (or after Identifying it if other character is Warrior), once other character has full inventory then he/she sells all those items, takes money to bank and will be ready for new items. Remember to enable solo mode so Assasin/Thief can stay at same place and keep NPC stuck while other character is running around selling stuff.
If you are able to find small item with high value then this method can be extremely effective. If there is item you like then you can keep one for yourself after you are done with getting gold.
If you have questions about this method or need clarification or want me to provide screenshots etc. then please post here. Any kind of feedback is very welcome.