How to pass negative values to config-set
The (ugly) work-around is:

echo '-1' | drush cset block.block.myblock_name weight - -y


You don't need to specify that format is string as that is the default.

This seems to be a general problem with Drush commands; values starting with a dash is interpreted as arguments. See bug report for similar issue with vset - https://github.com/drush-ops/drush/issues/378