Some examples already exists and they are some users who can write some infoboxes based on lua and using WD. But the main questions is to define good practice in coding and espacially to avoid bad codes (too long, too many requests,...)

Some of the rows in the infobox biography at nowiki has both use of the property parser function and of Lua modules. It also has a lot of discussions about how to use (and not use) Wikidata and why and how it should be filtered and so forth. There are more discussions about this at Tinget (Cathedral) and Torget (Bazaar), check out this link.

Typical problems are use of property parser function where a single claim is expected, but several are returned. Also some specific ordering are expected but the actual order is mangled. Some entries might also be assumed to be "wrong" in some way given a specific context. Often the user complaining has some expectation about the entry which is not fulfilled, usually because the person has done additional work (like being born, having kids, and behold having a dayjob) that comes as a surprise to the user.

The Wikidata module contains calls for use in upgrading infoboxes where the absence of a locally-supplied value causes a value to be fetched from Wikidata ("opt-out")

The WikidataIB module is intended for use in upgrading infoboxes where consensus is that they should only fetch Wikidata once enabled in an article. The operate in conjunction with a whitelist and a blacklist of fields, editable on a per-article basis.

Thanks, @Strainu for the praise and for letting me know of this discussion.
By now, we have many infoboxes that have been refactored into working both in parameter-less mode, and with local override.

I had to heavily enhance https://ro.wikipedia.org/wiki/Modul:Wikidata in order to make it expose some functions that provide exactly what is needed in an infobox starting from an item, such as getOneValue (returns one value from those with the highest rank), getOneValueNoRef (same without reference), getValueListWithSeparator, getTimestampedValueListWithSeparator, getDateValue, getPreferredValue.

I avoided creating infoboxes for use with Wikidata that are separate from those with specified parameters in order to push the move towards Wikidata. The only example of such infobox is https://ro.wikipedia.org/wiki/Format:Taxobox-wd (LUA-based, only works with Wikidata as a parameter-less infobox) that is different than https://ro.wikipedia.org/wiki/Format:Taxobox (which still works with parameters only) - this is a complex infobox in a field of which I know little (biological taxonomy), so I wanted to avoid intruding in such an area.

I hope this is useful, just tag me if there is more I can do in this area.