How often do miners update their block transaction list? Assuming an interval where no block is found, do we know how often the typical miner updates his block transaction list with new transactions from the mempool?

I found a reference which suggests that the default update time is 60 seconds, but I'm not sure what software the pools are using to generate their block transaction lists.
Welcome to the site!
It depends on the protocol being used.
Some protocols have the pool dictate how often the list of transactions is updated, and others have it defined by the mining client.
Stratum
In Stratum, the pool sends the miner a new merkle branch when it sees a new block or when a certain amount of time has passed. By default, it updates the list of transactions every 60 seconds.
Of course, this is only a default; a pool operator can change this.
GBT
In getblocktemplate with longpoll, the pool sends new work on block change, or after 60 seconds. (For bitcoind, at least.)
// Wait to respond until either the best block changes, OR a minute has passed and there are more transactions
...
checktxtime = boost::get_system_time() + boost::posix_time::minutes(1);

(Source)
In getblocktemplate without longpoll, the miner looks for new work every so often. 'Every so often' is miner-defined.
cgminer does it every 60 seconds:
static void gen_gbt_work(struct pool *pool, struct work *work)
...
if (now.tv_sec - pool-&gt;tv_lastwork.tv_sec &gt; 60)

(Source)
bfgminer is user-configurable, but defaults to 60 seconds:
--scan-time &lt;arg&gt;   Upper bound on time spent scanning current work, in seconds (default: 60)

(Source)
Conclusion
Changing work every after the network finds a new block and every 60 seconds is by far the most common way of doing things.